如:
INSERT INTO user (host, user, authentication_string, select_priv, insert_priv, update_priv) VALUES ('localhost', 'test1', '123456', 'Y', 'Y', 'Y');
报错:ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value
出现错误的原因是mysql默认配置严格模式,该模式禁止通过insert的方式直接修改mysql库中的user表进行添加新用户。
解决方法是修改my.ini(Windows系统)或my.conf(Linux系统)配置文件,以linux系统为例将:
sql-mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
修改成:
sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
然后重启mysql服务
service mysql restart