• MySQL 8.0.11 报错[ERROR] [MY-011087] Different lower_case_table_names settings for server ('1')


    • --报错信息:
    • 2018-06-07T19:52:26.943083+08:00 0 [System] [MY-010116] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.11) starting as process 37992
    • 100 200
    • 100 200
    • 2018-06-07T19:52:31.581790+08:00 1 [ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ('0') and data dictionary ('1').
    • 2018-06-07T19:52:31.582111+08:00 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
    • 2018-06-07T19:52:31.582140+08:00 0 [ERROR] [MY-010119] [Server] Aborting
    • 2018-06-07T19:52:33.348638+08:00 0 [System] [MY-010910] [Server] /usr/local/mysql/bin/mysqld: Shutdown complete (mysqld 8.0.11) MySQL Community Server - GPL.
    •  
    • --背景知识:
    • MySQL8.0 新增了data dictionary的概念,数据初始化的时候在linux下默认使用lower-case-table-names=0的参数,数据库启动的时候读取的my.cnf文件中的值。若二者值不一致则在mysql的错误日志中记录报错信息。
    •  
    • 在MySQL 5.7之前则允许数据库初始化和启动的值不一致且以启动值为准。
    • 在MySQL 官方提供的RPM包中默认是使用lower-case-table-names=0,不太适合生产环境部署。在生产环境建议使用官方的二进制包。
    • --官方解释:
    • After initialization, is is not allowed to change this setting.So "lower_case_table_names" needs to be set together with --initialize .
    • --解决办法:
    • 在mysql数据库初始化的时候指定不区分大小写,在数据库实例启动的时候也要指定不区分大小写。即数据库初始化时lower_case_table_names的值和数据库启动时的值需要一样。
    • 在实际开发生产的应用中多是不区分大小写的即lower-case-table-names=1。
    • --操作步骤:
    • /usr/local/mysql/bin/mysqld --user=mysql --lower-case-table-names=1 --initialize-insecure --basedir=/usr/local/mysql --datadir=/data/mysql/node1
    • my.cnf
    • [mysqld]
    • lower_case_table_names = 1
    •  
    • 若初始化和启动值不一样则会在错误日志中有如下提示:
    • [ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ('1') and data dictionary ('0').
    • [ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ('0') and data dictionary ('1').
    • --参考资料:
    • https://bugs.mysql.com/bug.php?id=90695
  • 相关阅读:
    HTML浏览器标题栏如何设置
    阿里团队常用的布局——双飞翼布局
    浏览器兼容性问题——IE不支持却很实用的CSS属性Outline和Child
    css选择器:基本选择器
    编程十年
    解决WX-IOS打开公众号网页出现的底部导航条
    Angular6路由复用与延迟加载的冲突解决——看看有备无患
    Ionic2 + Angular4 + JSSDK开发中的若干问题汇总
    [Linq Expression]练习自己写绑定
    [Linq To Sql]解决join时的Collation冲突
  • 原文地址:https://www.cnblogs.com/zping/p/9304988.html
Copyright © 2020-2023  润新知