• 欢迎访问DBA的辛酸事儿,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站
  • 欢迎大家关注博主公众号:DBA的辛酸事儿
  • 博文中若有错误的地方,请大家指正,大家的指正是我前进的动力

ERROR 1231 (42000) at line 8373: Variable ‘sql_mode’ can’t be set to the value of ‘NO_AUTO_CREATE_USER’

MySQL SEian.G 3年前 (2021-01-27) 5822次浏览 已收录 0个评论

今天在操作将MySQL 5.7的mysqldump的转储文件导入到MySQL 8.0的环境中遇到如下的报错

mysql -u dba_admin -p -h 127.0.0.1  -P4306 < /tmp/db_20210127.sql 
ERROR 1231 (42000) at line 8373: Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER'

从报错信息看,是由于参数sql_mode不能设置NO_AUTO_CREATE_USER值的问题导致的,那么我们来根据报错信息提示的行,查看一下相关的信息

检查报错的行8373相关内容

--
-- Dumping routines for database 'tgp_db'
--
/*!50003 DROP PROCEDURE IF EXISTS `CopyFsmInfoToNewFsm` */;
/*!50003 SET @saved_cs_client      = @@character_set_client */ ;
/*!50003 SET @saved_cs_results     = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
/*!50003 SET character_set_client  = utf8 */ ;
/*!50003 SET character_set_results = utf8 */ ;
/*!50003 SET collation_connection  = utf8_general_ci */ ;
/*!50003 SET @saved_sql_mode       = @@sql_mode */ ;
/*!50003 SET sql_mode              = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;

原因:MySQL 8取消了sql_mode的NO_AUTO_CREATE_USER,而从57.版本导出的SQL文件中存在存储过程,存储过程前,添加有sql_mode的相关参数设置

解决方案:把.sql文件里的 ‘NO_AUTO_CREATE_USER’删掉,然后重新导入即可

ERROR 1231 (42000) at line 8373: Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER'

 


如果您觉得本站对你有帮助,那么可以收藏和推荐本站,帮助本站更好地发展,在此谢过各位网友的支持。
转载请注明原文链接:ERROR 1231 (42000) at line 8373: Variable ‘sql_mode’ can’t be set to the value of ‘NO_AUTO_CREATE_USER’
喜欢 (4)
SEian.G
关于作者:
用心去记录工作,用心去感受生活,用心去学着成长;座右铭:苦练七十二变,笑对八十一难
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址