导入.sql文件时出错3554

23c0lvtd  于 2021-06-18  发布在  Mysql
关注(0)|答案(5)|浏览(474)

第318行出现错误3554(hy000):拒绝访问系统表“mysql.innodb\u index\u stats”。
操作失败,exitcode 1 11:27:20导入c:\users\veloxshop\downloads\dumpfilename.sql已完成,出现1个错误
我怎样才能进入那张table?

332nm8kg

332nm8kg1#

尝试向命令中添加-f,如下所示:

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

-f表示——力。
这对我起了作用!

8aqjt8rx

8aqjt8rx2#

这是一个mysql系统表,不太可能直接向其中插入记录。mysql应该在通过阈值计算索引的新统计信息时更新表。
检查318行,找出它为什么要插入到表中。

dauxcl2d

dauxcl2d3#

您还可以使用--force选项来避免此错误,该选项会导致mysql客户机在出现错误的情况下继续运行。

mm5n2pyu

mm5n2pyu4#

它似乎在mysql 8中受到限制。从sql文件中删除insert语句。如果文件非常大,您可能必须使用sed
https://stackoverflow.com/a/26379517/1106420
https://bugs.mysql.com/bug.php?id=92675

58wvjzkj

58wvjzkj5#

您需要对旧数据库进行新的转储/备份,这次从目标中删除那些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

相关问题