mariadb 无法以错误开始
Posted
技术标签:
【中文标题】mariadb 无法以错误开始【英文标题】:mariadb cannot start with error 【发布时间】:2017-11-09 20:37:46 【问题描述】:我已经重启了服务器。
mariadb 没有自动启动。
所以我会输入 service mysqld start。但显示我不能从错误开始。
mariadb 无法以排序规则开始
我想开始没有错误
我使用的是 centos 6.5
**# mysql --version**
mysql Ver 15.1 Distrib 10.1.19-MariaDB, for Linux (x86_64) using readline 5.1
**# ./mysqld_safe &**
mysqld_safe Logging to '/var/lib/mysql/localhost.localdomain.err'
**localhost.localdomain.err shows me**
mysqld_safe mysqld from pid file /var/lib/mysql/localhost.localdomain.pid ended
mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
[Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-external-locking' instead.
[ERROR] Unknown collation: 'utf8mb4_unicode_ci'
[ERROR] Aborting
[Note] /usr/libexec/mysqld: Shutdown complete
**my.cnf**
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
collation-server = utf8mb4_unicode_ci
character-set-server = utf8mb4
【问题讨论】:
用排序规则注释掉该行;看看它是否更进一步。也许然后可以进行进一步的分析。 (该排序规则应该在该版本中可用。) 【参考方案1】:无论您在那台机器上拥有什么服务器,它都不是 MariaDB 10.1。 mysql --version
只显示client版本,确实是MariaDB 10.1,但server不是。
MariaDB 10.1 不会对skip-locking
发出警告,这将是一个错误,因为该选项早在 10.1 之前就已被删除。它甚至在 5.5 中都不存在。
您最有可能拥有的是 MySQL 5.1,它仍然在 CentOS 6 上提供。也许您尝试在其上安装 MariaDB,但它并不顺利,或者发生了类似的事情。
MySQL 5.1 没有utf8mb4
,所以这个错误是有道理的,尽管我预计它会在character-set-server
上失败。您可能在其他地方有另一个配置覆盖character-set-server
(并添加了skip-locking
,这在您的粘贴中不存在,但它必须来自某个地方)。
【讨论】:
它在设置为相同环境的服务器上运行良好。【参考方案2】:添加
skip-character-set-client-handshake
如果通过启动选项设置排序规则,则在 my.cnf 中的 mysqld 下解决任何冲突。
https://dev.mysql.com/doc/refman/5.7/en/charset-server.html
【讨论】:
这不是解决方案。以上是关于mariadb 无法以错误开始的主要内容,如果未能解决你的问题,请参考以下文章