导入.sql文件时出现错误3554

时间:2018-11-01 15:00:32

标签: mysql mysql-workbench

第318行的错误3554(HY000):对系统表'mysql.innodb_index_stats'的访问被拒绝。

操作失败,退出代码为1 11:27:20 C:\ Users \ VELOXSHOP \ Downloads \ dumpfilename.sql的导入已完成,出现1个错误

如何允许访问该桌子?

5 个答案:

答案 0 :(得分:1)

您需要对旧数据库进行新的转储/备份,这一次从目标中删除了那些innodb表。您可以在命令行上使用--ignore-table参数来完成此操作:

mysqldump -u root -p --all-databases --ignore-table=mysql.innodb_index_stats --ignore-table=mysql.innodb_table_stats > dump.sql

然后,您应该可以使用以下命令在新数据库上还原备份:

mysql -u root -p < dump.sql

答案 1 :(得分:1)

尝试像这样在命令中添加-f

mysql -u root -p -f < dump.sql

-f表示--force。

这帮了我大忙!

答案 2 :(得分:0)

这是一个MySQL系统表,不太可能直接在其中插入记录。当阈值通过时,MySQL计算索引的新统计信息时应更新该表。

检查第318行,找出为什么要插入该表。

答案 3 :(得分:0)

它似乎在Mysql 8中受到限制。从sql文件中删除insert语句。如果文件很大,则可能必须使用sed

https://stackoverflow.com/a/26379517/1106420

https://bugs.mysql.com/bug.php?id=92675

答案 4 :(得分:0)

您也可以使用--force选项避免此错误,这会导致mysql客户端在发生错误时继续运行。