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%‘;

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容