尝试在MySQL工作台中导入sql转储时,sql_模式出现错误1231(42000)
我正在尝试将数据库转储导入MySQL工作台中的本地主机。 在尝试将MySQL版本5.7的转储导入到8.0.14版本时,出现以下错误: 第198行出现错误1231(42000):变量尝试在MySQL工作台中导入sql转储时,sql_模式出现错误1231(42000),mysql,sql,mysql-workbench,Mysql,Sql,Mysql Workbench,我正在尝试将数据库转储导入MySQL工作台中的本地主机。 在尝试将MySQL版本5.7的转储导入到8.0.14版本时,出现以下错误: 第198行出现错误1231(42000):变量sql\u mode不能设置为NO\u AUTO\u CREATE\u USER 操作失败,退出代码1 问题是转储文件大小为4GB,我无法打开它,因为我的电脑冻结了。有没有一种方法可以删除这一行或解决这个问题?您似乎已经击中了。错误页面说它在8.0.13中已经修复,但是由于您使用的是8.0.14并且仍然遇到问题,所以情
sql\u mode
不能设置为NO\u AUTO\u CREATE\u USER
操作失败,退出代码1
问题是转储文件大小为4GB,我无法打开它,因为我的电脑冻结了。有没有一种方法可以删除这一行或解决这个问题?您似乎已经击中了。错误页面说它在8.0.13中已经修复,但是由于您使用的是8.0.14并且仍然遇到问题,所以情况可能不是这样
它还建议了一种解决方法:将的所有实例、NO_AUTO_CREATE_USER
替换为空。如果由于文件太大而无法使用文本编辑器打开该文件,则可以使用Perl使用正则表达式就地更新该文件,如:
perl -pi -e 's/,NO_AUTO_CREATE_USER//g' file
标志说明:
导致执行Perl代码-e
表示:为每个文件行执行代码-p
表示:就地编辑文件-i
的所有实例、NO_AUTO_CREATE_USER
替换为空。如果由于文件太大而无法使用文本编辑器打开该文件,则可以使用Perl使用正则表达式就地更新该文件,如:
perl -pi -e 's/,NO_AUTO_CREATE_USER//g' file
标志说明:
导致执行Perl代码-e
表示:为每个文件行执行代码-p
表示:就地编辑文件-i
perl
或sed
这样的工具很容易做到这一点。您是否正在尝试将转储从较新版本加载到较旧版本的MySQL?请记住mysqldump
有很多选项,因此您可以禁用有问题的转储部分。我正在尝试将旧版本MySQL的转储文件运行到新版本。如何禁用这些代码?本地升级是否可行?如果你能让版本同步,这个过程通常会顺利得多。在8.0中有很多变化,但升级应该是无缝的。我可以在本地主机中不使用数据库的情况下升级它吗?或者更好地使用--force选项,如:mysql-u root-pxxx--force您可能无法在任何常规文本编辑器中打开它,但您可以对引起问题的特定行进行搜索替换。像perl
或sed
这样的工具很容易做到这一点。您是否正在尝试将转储从较新版本加载到较旧版本的MySQL?请记住mysqldump
有很多选项,因此您可以禁用有问题的转储部分。我正在尝试将旧版本MySQL的转储文件运行到新版本。如何禁用这些代码?本地升级是否可行?如果你能让版本同步,这个过程通常会顺利得多。在8.0中发生了很多变化,但升级应该是无缝的。我可以在本地主机中不使用数据库的情况下进行升级吗?或者更好地使用--force选项,如:mysql-u root-pxxx--force我可以在PerlCritic Desktop App或mysql Workbench中进行升级吗?我可以在PerlCritic Desktop App或mysql Workbench中进行升级吗?