Mysql 5.7或8.0以上版本注意事项
您正在阅读旧版文档,新版文档已迁移至 [https://document.pescms.com]
目录
由于Mysql 5.7或8.0以上版本对 GROUP BY 语法进行了调整,因此您的运行环境在上述版本中,将会遇到500错误。要解决此问题可以参考如下方法:
1. 在Mysql运行如下语句:
SELECT @@sql_mode
2.查看刚才的执行结果,确认是否存在:ONLY_FULL_GROUP_BY。 如:NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,ONLY_FULL_GROUP_BY
3.存在则找到my.ini (windows) 或者 my.cnf (linux) 文件(请依据自己软件环境进行定位)。查找并确认里面是否存在 sql_mode 。若存在则依据实际的情况进行修改。不存在,则在任意地方,新起一行填写。如下示例:
[mysqld] sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION basedir = /opt/mysql datadir = /opt/mysql/data log-error = /opt/mysql/log/mysql_error.log long_query_time=1 slow_query_log=1 slow_query_log_file=/opt/mysql/log/slow-query.log pid-file = /opt/mysql/mysql.pid socket = /opt/mysql/mysql.sock user = mysql tmpdir = /tmp bind-address = 127.0.0.1 max_connections = 1000 max_connect_errors = 6000 open_files_limit = 65535 table_open_cache = 128 max_allowed_packet = 4M binlog_cache_size = 1M max_heap_table_size = 8M tmp_table_size = 16M
4.保存并重启MYSQL,检查错误是否还存在。