想进行update操作,报了这样一个错:
[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
那我想,就不update了,直接delete。没想到也是一样的,看来我非要面对这个问题。
那就上Linux!
1、登录服务器的MySQL:
whereis mysql
/usr/mysql/bin -u root -p
2、查看sql_mode是不是有ONLY_FULL_GROUP参数:
show variables like '%sql_mode%';
3、改掉它!
vim /etc/my.cnf
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
文件如下:
4、重启MySQL,搞定!
service mysql restart
我也想到此为止,但是它报错了。。
5、Failed to restart mysql.service: Unit not found.修复这个先--------------------
ll /etc/init.d/ | grep mysql
果然是没有找到,通过find命令来搜一搜,保持耐心。
find / -name mysql.server
还是没有,如果你找到了就--------------------------->从你的安装目录copy就行了,我呢?还需要继续寻找
cp /usr/local/mysql/mysql.server /etc/init.d/mysql
接着就输入:service mysql restart,或者是:systemctl restart mysql,重启就好了。你们可以继续玩你们的,我还要悲催的继续查找,所以下面是我一个人的故事。
6、夸父追日
这里省去很多繁琐的查找步骤,直接来到我发现我的宝藏的命令,感谢:
rpm -qal |grep mysql
我这个mysql服务,原来它叫——mysqld!!?误打误撞,虽然不是带server的。
我输了最后的命令:systemctl restart mysqld
有点刀剑神域的感觉,虽然它不是system call。
我又能继续玩我的数据库操作了。好了,这段旅程,祝您愉快~JOJO~