今天线上部署环境时出现的错误,用的是阿里的虚拟主机做一下测试。然后就出现了这个错误。
这是mysql 5.X后出来的。
问题原因:主要是MySQL使用了严格验证方式:。
my.ini默认配置是sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
解决:更改为sql_mode = NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

因为是虚拟主机所以没法修改配置文件,只能通过sql来修改:
set sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
然后又发现修改后没法重启。。。只能联系管理员了

参数的详解:
NO_ENGINE_SUBSTITUTION:
启用后,若需要的存储引擎被禁用或未编译,则抛出错误;未启用时将用默认的存储引擎代替,并抛出一个异常。
STRICT_TRANS_TALES(严格模式):
只对支持事务的表启用严格模式
NO_AUTO_CREATE_USER:
禁止GRANT创建密码为空的用户。

Q.E.D.