mysqldump 迁移数据报错:Unknown table ‘COLUMN_STATISTICS‘ in information_schema

本文介绍了如何使用mysqldump工具进行数据库迁移,包括命令行方式和通过DataGrip。在使用过程中遇到'UnknowntableCOLUMN_STATISTICS'ininformation_schema(1109)'的错误,解决方案是在命令行添加--column-statistics=0选项,或者修改MySQL配置文件。此外,还分享了DataGrip中mysqldump的具体操作步骤。
摘要由CSDN通过智能技术生成

背景

系统迭代开发,需要将线上数据迁移到测试环境,数据量不是很大,所以选择使用 mysqldump 工具数据迁移。

迁移操作

mysqldump 是 MySQL 自带的系统工具,可以使用 命令行 模式也可以选择使用可视化工具。

1. 使用命令行

如果可以 ssh 连接上数据库所在的机器,可以是使用命令行进行操作:

从源数据库导出数据到 test.sql

 mysqldump db_name > backup-file.sql

从 test.sql 导入数据到测试环境的数据库

mysql db_name < backup-file.sql

2. DataGrip with mysqldump

我使用的是 DataGrip 的 mysqldump 工具进行数据迁移的,这里也分享下具体的做法

  1. 选中源数据库的 schema 右击唤出菜单选择 Export Data to Files
    DataGrip-Export Data to Files
  2. 弹出下面的对话框,可以选择,是否包含数据或者是只导出数据结构。
    在这里插入图片描述
  • Path to mysqldump 选择你的mysqldump在本地磁盘的位置
  • Statements 选择模式
  • Databases 需要导出的数据库(不可选择,默认当前右键选中的)
  • Tables 需要导出的表(不可选择,默认当前右键选中的)
  • 多选框,根据自己需求进行选择,一般默认即可
  • Out path 导出路径
  1. 运行之后出现了下面的问题
Unknown table 'COLUMN_STATISTICS' in information_schema (1109)

查阅文档得知:
MSYQL 官方文档
这是由于在mysqldump 8中默认启用了一个新标志。可以通过添加——column-statistics=0 来禁用它。该命令如下:

--column-statistics=0 

修改之后我的导出命令为:
在这里插入图片描述
也可以通过设置 mysql 的配置文件 /etc/my.cnf 得到根本性的解决

[mysqldump]
column-statistics=0
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值