【发布时间】:2017-10-02 06:56:00
【问题描述】:
我正在尝试调整我们从 mySQL 5.5 服务器移动到 5.7 服务器的数据库。它抱怨日期是0000-00-00 格式。我正在尝试解决这个问题,但我无法克服这些错误。
在 my.cnf 中,我有:
sql_mode=ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,TRADITIONAL,ALLOW_INVALID_DATES
我重新启动 mySQL,然后在 phpmyadmin 中执行此操作:
SHOW VARIABLES LIKE 'sql_mode'
但它显示了一个完全错误/不同的列表!
sql_mode
STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ALLOW_INVALID_DATES,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
我做错了什么?这让我发疯了!
【问题讨论】:
-
my.cnf 可能有误?执行升级脚本?我更喜欢 MySQL Workbench 而不是 phpMyAdmin。 stackoverflow.com/questions/35565128/…
-
@BitAccesser 嗯,我很确定。我使用VestaCP作为控制系统,在在线工具中显示为
/etc/mysql/my.cnf(我自己手动编辑,在线工具也显示我的更改。很奇怪:/ -
你说的是phpMyAdmin!控制台上显示什么?
-
@BitAccesser 我所说的只是我使用 VestaCP 来管理服务器(有点像 CPanel),从那个面板我可以看到 my.cnf 的位置是/etc/mysql/my.cnf ,这是我正在编辑的。
-
好的,以为是 MySQL 工具。文件系统中的 my.cnf 文件没有任何意义。重要的是使用的 my.cnf 文件。您应该在 phpMyAdmin 中找到该路径。
标签: mysql