Linux 通过RPM包安装 MySQL 8.0

Linux下卸载MySQL8.0版本

启动mysql服务:

service mysqld start

停止mysql服务:

service mysqld stop

重启mysql服务:

service mysqld restart

查看mysql服务:

service mysqld status 
 
linux mysql8.0 this is incompatible with sql_mode=only_full_group_by

 

方式一:先执行select @@sql_mode,复制查询出来的值并将其中的NO_ZERO_IN_DATE,NO_ZERO_DATE删除,然后执行set sql_mode = '修改后的值’或者set session sql_mode=‘修改后的值’;,

例如:set session sql_mode=‘STRICT_TRANS_TABLES’;改为严格模式

只在当前会话中生效,关闭当前会话就不生效了。

set session sql_mode='STRICT_TRANS_TABLES';

方式二:先执行select @@global.sql_mode,复制查询出来的值并将其中的NO_ZERO_IN_DATE,NO_ZERO_DATE删除,然后执行set global sql_mode = ‘修改后的值’。

在当前服务中生效,重新MySQL服务后失效

set global sql_mode = 'STRICT_TRANS_TABLES'

方法三:(这个没有测试成功,总是报错)在mysql的安装目录下,或my.cnf文件(windows系统是my.ini文件),新增 sql_mode = ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,

添加my.cnf如下:

[mysqld]
 sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER

然后重启mysql。