Mariadb [ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist
作者:
leo
现象描述:
[root@www.cndba.cn mysql]# service mysql start
Starting MariaDB.180227 01:54:58 mysqld_safe Logging to '/data1/mysql/log/error.log'.
180227 01:54:58 mysqld_safe Starting mysqld daemon with databases from /data1/mysql/data
. [FAILED]
查看日志:
2018-02-27 1:54:59 139711403755296 [Note] Plugin 'FEEDBACK' is disabled.
2018-02-27 1:54:59 139711403755296 [ERROR] Could not open mysql.plugin table. Some plugins may be not loaded
2018-02-27 1:54:59 139711403755296 [Note] Recovering after a crash using /data1/mysql/binlog/mysql-bin
2018-02-27 1:54:59 139711403755296 [Note] Starting crash recovery...
2018-02-27 1:54:59 139711403755296 [Note] Crash recovery finished.
2018-02-27 1:54:59 139711327098624 [Warning] Failed to load slave replication state from table mysql.gtid_slave_pos: 1146: Table 'mysql.gtid_slave_pos' doesn't exist
2018-02-27 1:54:59 139708723095296 [Note] InnoDB: Buffer pool(s) load completed at 180227 1:54:59
2018-02-27 1:54:59 139711403755296 [ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist
2018-02-27 1:54:59 139711403755296 [Note] Server socket created on IP: '::'.
2018-02-27 1:54:59 139711403755296 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
查看配置文件:
[root@www.cndba.cn support-files]# more /etc/my.cnf |grep -v ^#
[mysqld]
port = 3307
socket = /tmp/mysql.sock
basedir = /usr/local/mysql
datadir = /data1/mysql/data
查了很长时间发现,创建数据文件mysql_install_db 的时候指定datadir目录是/data/mysql,而/etc/my.cnf 缺省的路径:/data1/mysql/data
[root@www.cndba.cn mysql]# scripts/mysql_install_db --user=mysql --datadir=/data/mysql
解决方法:
将配置人家/etc/my.cnf中datadir 目录改为:/data/mysql 即可
[root@www.cndba.cn support-files]# service mysql start
Starting MariaDB.180227 01:56:37 mysqld_safe Logging to '/data/mysql/log/error.log'.
180227 01:56:37 mysqld_safe Starting mysqld daemon with databases from /data/mysql
. [ OK ]
问题解决。
版权声明:本文为博主原创文章,未经博主允许不得转载。