linux运维转mysql难吗_mysql 5.6.x sql_mode踩过的坑 | linux运维小站–linux系统架构_服务器运维_Linux运维工程师工作手札...

线上环境使用的是oracle mysql 5.5.x,现新上一台美团云主机,准备把Mysql升级到5.6.x

sql_mode坑

5.5.x sql_mode默认值为空,5.6.x默认值为STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,于是原来的程序由于sql语句不严谨,出现报错,网站无法访问。

sql_mode坑处理办法

首先想到的是修改my.cnf文件,在my.cnf配置文件中添加sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,保存文件,重启Mysql服务,一气呵成,本想问题应该随之而解,但是人品欠佳,进入mysql命令行查看,sql_mode值纹丝不动,利用SET命令更改倒是可以成功,但是每次重启服务以后,此配置会失效,无奈只好想其他办法。

暂时想到两种办法

一、找开发修改程序,在mysql_query函数中添加sql_mode='NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

二、还是在Mysql服务这块解决,在Mysql启动脚本中添加--sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",保存后测试,一切ok!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值