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