由于查询sql中会使用到分组函数,而mysql5.7 之后默认添加ONLY_FULL_GROUP_BY,所以在my.cnf文件中【mysqld】下设置:sql-mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER

此时启动mysql service mysqld start 报错:Starting MySQL...The server quit without updating PID file [FAILED]ysql/mysql.pid).

查看mysql日志:

unknown variable 'sql_mode= STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

注释掉sql_mode 可以正常启动,

查看mysql官网提示:sql-mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER"

加双引号,修改之后不起作用,重新设置为 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER'启动还是报错;

重新查看配置文件,将等号前后空格去除,mysql 启动成功

 

参考链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。