this is incompatible with sql_mode=only_full_group_by
先进入到mysql查看:select @@global.sql_mode;
mysql> select @@GLOBAL.sql_mode;
+----------------------------------------------------------------------------------------------------+
| @@GLOBAL.sql_mode |
+----------------------------------------------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION |
+----------------------------------------------------------------------------------------------------+
修改 vim /etc/my.cnf.d/mysql-server.cnf
在mysql-server.cnf 文件中的[mysqld] 下添加一行:sql_node=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
保存,重启即可
centos 8 安装
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
执行该语句时要在rpm下载的文件夹下或者指定下载目录:yum localinstall mysq*.rpm
yum install mysql-server
修改配置
vim /etc/my.cnf.d/mysql-server.cnf
[mysqld]
#忽略大小写
lower_case_table_names=1
#group by 问题
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
加载配置
mysqld --initialize --console
然后启动
systemctl start mysqld.service
如果启动失败查看日志文件(The innodb_system data file 'ibdata1' must be writable):
cat /var/log/mysql/mysqld.log
修改该文件权限
chmod -R 777 /var/lib/mysql
mysqld --initialize --console
重新启动