Mysql5.7 怎么兼容Mysql5.6以及向下版本
首先我遇到的问题
1. Mysql5.7 无法导入低版本转储文件
2. Mysql5.7 表名区分大小写的问题
问题1处理方案
执行 select @@global.sql_mode;
查看当前设置 由于mysql5.7 sql_mode 更严格所以导致导入失败所以要修改此配置
重新设置值。
set @@sql_mode =‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION‘;
上面是改变了全局sql_mode,对于新建的数据库有效。对于已存在的数据库,则需要在对应的数据下执行:
set sql_mode =‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION‘;
问题2处理方案
执行show variables like ‘%lower%’;查看当前表名是否区分大小写
show variables like '%lower%';

lower_case_table_names =0 区分大小写
lower_case_table_names=1 不区分大小写
修改my.cnf文件,一般路径为/etc/my.conf
vim /etc/my.conf
在my.conf文件中[mysqld]下追加
lower_case_table_names=1 保存并退出
重启mysql
再次查看
show variables like ‘%lower%‘;
文章讲述了如何解决MySQL5.7在导入低版本转储文件时遇到的问题,主要涉及调整sql_mode以适应更严格的模式,并提供了修改my.cnf文件来设置表名不区分大小写的方法,以实现与Mysql5.6及以下版本的兼容。
3万+

被折叠的 条评论
为什么被折叠?



