如何解决mysqldump报错“Unknown table column_statistics”

数据库关系型数据库技术服务知识库
问题描述

在使用 mysqldump 备份 MySQL5.7 数据库时报错,ERROR 1109 (42S02): Unknown table 'column_statistics' in information_schema。 相关环境/工具信息如下:

  • mysqldump 版本使用 8.0.22
  • MySQL 实例使用 5.7.32
问题分析

通过报错我们可以看到问题出现在 column_statistics 这个视图上,column_statistcs 是用来存储 MySQL8.0 的新功能**"统计直方图"**的信息。而 MySQL5.7 information_schema 中并没有 column_statistcs 视图。 由此我们发现根本原因是 mysqldump 的版本过高导致的。

解决方案

您可以使用如下方法来规避比问题:

1.禁用 column_statistcs

在 mysqldump 8.0.22 备份的时候禁用掉 column_statistcs,具体通过如下步骤实现:在命令行添加参数 --column-statistics=0

mysqldump --column-statistics=0 

2.使用5.7版本的mysqldump去备份数据库

3.修改mysql的默认配置my.cnf添加如下参数

如果是自建的 MySQL 实例,您可以采用如下方法

[mysqldump]
column-statistics=0

确认修改生效,默认值已经变成了FALSE

[root@JMS mysql]# mysqldump --help | grep "^column-statistics"
column-statistics                       FALSE

参考文档

https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html#option_mysqldump_column-statistics 如果您有其他问题,欢迎您联系火山引擎技术支持服务

92
0
0
0
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论