小编Hem*_*lin的帖子

为什么 MySQL 不识别任何 sql_mode(s)?

尝试使用终端从终端启动 MySQL 时,mysql -u <username> -p<password>出现以下错误:

mysql: [错误] 未知变量 'sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

在 MySQL 正在寻找 .cnf 文件(通过运行找到它们sudo /usr/sbin/mysqld --verbose --help | grep -A 1 "Default options")的三个可能的位置中,只/etc/mysql/my.cnf存在。其中只有一个目录,包括!includedir /etc/mysql/conf.d/. 在那里,/etc/mysql/conf.d/mysql.cnf有以下几行:

 [mysql]
 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Run Code Online (Sandbox Code Playgroud)

四处寻找答案,找不到任何答案。一一尝试从模式列表中排除特定的“坏模式”,它们都无法识别。

只有完全注释掉这一行,我才能登录并启动 MySQL。

有谁知道问题可能是什么?


平台和操作系统方面:

  • 我使用的 MySQL 版本是5.7.17
  • 操作系统为 Lubuntu 16.04,4.7.3-generic,x86_64

mysql mysql-5.7

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

mysql ×1

mysql-5.7 ×1