收藏本页|设为主页|RSS
LOGO

我就上乐乐吧

MySQL8.0报错Different lower_case_table_names settings for server技术杂萃 苦逼码农的点点滴滴,请多多指教!我就上乐乐吧资源的世界,资源的海洋,收集各类资源,以无LOGO原汁原味为主!欢迎大家交流。智者乐山,仁者乐水,独乐乐,不如众乐...

您当前的位置:首页»技术杂萃
全站公告
重要提示!

本站收集各类美图,以无LOGO原汁原味图为主!欢迎大家交流。
怕失联,请认准如下地址:
微博:http://weibo.com/237h
微信:SuperBeautylove
轻博客:http://www593668com.lofter.com/
花瓣:http://huaban.com/sinsunson
Q群1:231151757
Q群2:583138281
网站:http://www.593668.com
文件解压密码:593668.com
热心赞助

站内搜索
 
相关文章
热门文章
热搜词组
文章归档
友情链接
    MySQL8.0报错Different lower_case_table_names settings for server

    发布日期:2019-07-10  关键词:MySQL

    最近有一个项目,因为同事是使用.NET开发的关系,需要把MySQL8.0迁往Linux,所以就在CentOS上面安装MySQL8.0,当然安装过程不用多说,直接使用如下命令即可。

    $ yum locAlinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
    $ yum install -y mysql-community-server
    $ service mysqld restart

    因为.NET是不区分大小写的,而Linux下MySQL转为是区分的,所以my.cnf中参数就需要增加如下一条,无视大小写。

    lower-case-table-names=1

    但是加入这个参数之后,再重启MySQL就报错了。报错信息如下:

    [ERROR] [MY-011087] Different lower_case_table_names settings for server ('1')

    这个就是一个大坑了,MySQL8.0新增了data dictionary的概念,数据初始化的时候在linux下默认使用lower-case-table-names=0的参数[即区分大小写],数据库启动的时候读取的my.cnf文件中的值,若二者值不一致则在mysql的错误日志中记录报错信息,并停止启动。

    而在MySQL5.7之前则是允许数据库初始化和启动的值不一致且以启动值为准。

    但是在MySQL官方提供的RPM包中默认是使用lower-case-table-names=0,而在实际开发生产的应用中多是不区分大小写,如果需要调整,就要使用官方的二进制包。

    难道还要重新去安装一次,这就太过麻烦了,而且自行编译也行,直接使用官方二进制包也好,那有使用RPM包安装方便啊。尤其是对小白来说,更是无法忍受的痛吧。

    于是再次翻阅相关英文资料,发现还有一个办法就是初始化的时候,进行相应命令行处理。

    在数据库初始化的时候指定不区分大小写,然后又在my.cnf文件中设定不区分大小写,这样就可以解决这个问题了。说干就干,于是就有了如下计划出笼。

    先停止服务,移走数据库。
    $ service mysqld stop
    $ mv /var/lib/mysql /var/lib/mysql1
    或者直接删除也可。
    $ rm -rf /var/lib/mysql
    重新初始化数据库:
    $ /usr/sbin/mysqld --user=mysql --lower-case-table-names=1 --initialize-insecure --basedir=/usr --datadir=/var/lib/mysql
    修改下/etc/my.cnf,加入如下参数。
    lower-case-table-names=1
    #再来进行安全信息配置
    $ mysql_secure_installation
    最后就是重启下服务
    $ service mysqld restart

    现在察看启动日志就可以发现一切都正常了。

    MySQL8.0报错Different lower_case_table_names settings for server,MySQL,技术杂萃

    Linux下MySQL8.0不区分大小写的问题终于也得到了解决。
    猜您喜欢:
    Q群:231151757微信:superimagelove官网:www.593668.com