背景
在虚拟机上装apollo的时候发现Mysql数据库ApolloPortalDB和ApolloConfigDB都创建好了,但是启动apollo的服务的时候报错:
[code]Table 'ApolloConfigDB.ServerConfig' doesn't exist
思路
判断是Mysql安装的时候没有设置忽略SQL语句中表名的大小写敏感,需要修改Mysql的配置文件/etc/my.cnf:
[code]vi /etc/my.cnf
步骤
编辑[mysqld]节点下配置项(没有就新增):
[code]lower_case_table_names = 1
说明:0代表区分大小写,1代表不区分大小写。
此时启动Mysql:
[code]service mysqld start
报错:
[code]Starting MySQL... ERROR! The server quit without updating PID file (/usr/local/mysql/var/localhost.localdomain.pid).
查看Mysql安装目录下的错误日志:
[code][root@localhost mysql]# vi var/localhost.localdomain.err
发现如下错误信息:
[code] Different lower_case_table_names settings for server ('1') and data dictionary ('
0').
大概意思就是我在配置文件中设置的配置lower_case_table_names值为'1',而data dictionary中同一个配置的值为'0',两边不一致导致Mysql启动失败。
解决办法是重新初始化(前提是datadir中没有数据文件):
[code][root@localhost mysql]# bin/mysqld --initialize --user=mysql --lower-case-table-names=1 --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var
执行成功之后就可以重启Mysql了:
[code][root@localhost mysql]# service mysqld start
Starting MySQL. SUCCESS!
[参考]