我必须设置持久自定义SQL模式持久到我的服务器。我在/etc/mysql/mysql.conf/mysqld.cnf中添加了这一行
[mysqld]
...
sql-mode = STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION当我尝试运行mysql时,会得到以下错误:
2020-06-03T09:49:24.567568Z0 错误 服务器 /usr/sbin/mysqld:在将值'STRICT_TRANS_TABLES、ERROR_FOR_DIVISION_BY_ZERO、NO_AUTO_CREATE_USER、NO_ENGINE_SUBSTITUTION‘设置为'sql_mode’时出错。mysqld Ver 8.0.20-0ubuntu0.20.04.1用于x86_64上的Linux ((Ubuntu))
我试图将sql-mode更改为sql_mode并删除双引号,但没有更改。
发布于 2021-04-28 13:34:30
只需编辑/etc/mysql/my.conf,删除"NO_AUTO_CREATE_USER“。其结果将是:
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
[mysqld]
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"对我起作用了!
发布于 2020-07-07 17:41:03
在最近版本的Ubuntu / Debian中,我正在修改文件:
/lib/systemd/system/mysql.service
ExecStart=/usr/sbin/mysqld --sql-mode=NO_ENGINE_SUBSTITUTION
然后跑:
systemctl daemon-reload
systemctl restart mysql对*.cnf文件的更改不起任何作用

发布于 2022-10-28 10:38:54
正确的语法是sql-mode = STRICT_TRANS_TABLES、ONLY_FULL_GROUP_BY、ERROR_FOR_DIVISION_BY_ZERO、NO_ENGINE_SUBSTITUTION。
https://serverfault.com/questions/1019823
复制相似问题