【Mysql5.7 怎么兼容Mysql5.6以及向下版本】

文章讲述了如何解决MySQL5.7在导入低版本转储文件时遇到的问题,主要涉及调整sql_mode以适应更严格的模式,并提供了修改my.cnf文件来设置表名不区分大小写的方法,以实现与Mysql5.6及以下版本的兼容。

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%';
![在这里插入图片描述](https://img-blog.csdnimg.cn/168abd7ce06f4ea9a2fdc74d98e7a338.png#pic_center)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值