第318行的错误3554(HY000):对系统表'mysql.innodb_index_stats'的访问被拒绝。
操作失败,退出代码为1 11:27:20 C:\ Users \ VELOXSHOP \ Downloads \ dumpfilename.sql的导入已完成,出现1个错误
如何允许访问该桌子?
答案 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
答案 4 :(得分:0)
您也可以使用--force选项避免此错误,这会导致mysql客户端在发生错误时继续运行。