使用xtrabackup恢复一个数据库实例。启动服务时报错提示失败。
使用ps aux |grep mysql查看,mysqld服务却存在。
尝试使用kill杀掉该服务,提示进程不存在。再次使用ps aux |grep mysql查看,mysqld服务却存在...
反复操作几次,发现问题。使用ps aux |grep mysql查看,反复几次,进程id不断变化(变大)。
使用/etc/init.d/mysql stop,mysql进程消失了。
按提示使用“journalctl -xe”,查看详细信息。没有特别有用的,只是提示启动时提示因错误码退出。
找不出头绪,还是看看错误日志。
从日志看,提示要设置lower_case_table_names为0,而data dictionary为1,两者不一致。那么解决方法很清楚了,将lower_case_table_names设置为1即可。
编辑/etc/mysql/mysql.conf.d/mysqld.cnf
在[mysqld]下添加lower_case_table_names = 1
再次启动mysql服务。
成功!
注:因为此时服务在自动反复重启,不执行/etc/init.d/mysql stop,直接修改配置文件,任由服务自己重启,稍后服务就正常了。
lower_case_table_names参数简介
该参数为静态,可设置为0、1、