mysql 8.0 + Different lower_case_table_names settings for server (‘1‘) and data dictionary (‘0‘).

一、安装8.0.13过程

linux 下载 安装 mysql 8.0+ (tar.xz)_ycsdn10的博客-CSDN博客

二、主从配置产生问题

        mysql 8.0.13在进行主从配置的时候,发现没有my.cnf,从网上找了创建了文件 /etc/my.cnf,然后发现启动报错

        在对应data下有一个xxx.err文件,cat xxx.err 打开后可以看到报错日志

 

         内容是:

2021-12-15T23:24:40.645061+08:00 1 [ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ('1') and data dictionary ('0').
2021-12-15T23:24:40.645336+08:00 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.

三、分析及解决      

1.初次 

          从上面可以看出lower_case_table_names 相关server和dictionary匹配配置有问题,根据官网所说,这个值在初始化之后就不能改了,但是我这边改成了2之后,就能成功重启,这个做个记录(下面重新改成了0)

        重启

mysql.server restart

         可以看到第一次重启因为有错误信息,所以关闭失败,但重启没有问题。不放心,可以重新再试一次

2.再次

        过了1天,发现错误日志中有警告

[Warning] [MY-010160] [Server] lower_case_table_names was set to 2, even though your the file system '/mysql/mysql8/data/' is case sensitive.  Now setting lower_case_table_names to 0 to avoid future problems

         意思是说:即使大小写敏感,lower_case_table_names也被设置成了2。为了避免将来的问题,lower_case_table_names应当设置成0

        还是根据官方提示来操作,我这边改成0,并重启,然后就没有这个警告提示了

 四、附lower_case_table_names不同值作用

lower_case_table_names=0,数据库表名存储为给定的大小和比较是区分大小写的 

lower_case_table_names = 1 ,数据库表名存储在磁盘是小写的,但是比较的时候是不区分大小写
lower_case_table_names=2,数据库表名存储为给定的大小写但是比较的时候是小写的

        可以用show命令查看当前库的值;

show variables like 'lower_case_table_names';

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值