Apollo 对表名区分大小写 如何配置MYSQL不区分大小写呢

朱雀 2022-10-10 12:31 294阅读 0赞

背景
在虚拟机上装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!

发表评论

表情:
评论列表 (有 0 条评论,294人围观)

还没有评论,来说两句吧...

相关阅读

    相关 mysql区分大小写

    今天测试的时候,遇到一些问题,明明看到数据,就是查不出来;后来发现,在linux下,mysql的表名区分大小写 google了一些资料,修改mysql的一个参数就可以了,如