摘要:

DBeaver是一款数据库管理软件,小巧易用,最主要其官方版就可以满足平常得任务需求。对于力主使用正版软件工具的公司和单位来说,它是操作MySQL数据库的比较好得选择。
最近项目上有一个基于MySQL的数据迁移的工作,将一个DB服务器上的约200万条数据迁移到另外一台DB服务器。使用DBeaver,虽然比较步骤比较简单,但是也费了数个小时的摸索。在这里将学习的简单成果和迁移过程中遇到的问题做个记录。希望有需要的同志在使用的过程中少踩点坑。
步骤:这里的步骤只是基于我的环境,大概如此,具体环境具体分析。

  1. 下载MySQL组件

为什么需要下载MySQL组件呢,因为我们的MySQL是安装在Docker中,本地只有DBeaver,而DBeaver导入导出数据需要MySQL Client的支持,所以需要下载之。若本地装有MySQL,只需要找到MySQL安装包bin下面的几个.exe执行文件。

在官网下载,这里需要注意的是MySQL现在已经发展到8.0了,需要下载与MySQL服务器尽量大版本相一致的,如服务器装的是5.*的版本,这里也选择一个5.*的版本,否则就会遇到一些问题(文章最后出现的问题)。MySql官网下载 。将下载的压缩包解压,待用。

数据库迁移工具 mysql 数据库迁移工具DBeaver_数据库迁移工具 mysql


数据库迁移工具 mysql 数据库迁移工具DBeaver_数据秦阿姨_02

  1. 配置DBeaver

DBeaver需要配置MySQL Client,这一步骤是最主要的。如果新建连接,只需要在连接设置中选择Local Client 的位置,就是我们上一步的解压缩文件。若是已经建立的连接,只需要编辑连接设置一下即可, 具体操作看图。

数据库迁移工具 mysql 数据库迁移工具DBeaver_导出导入_03

数据库迁移工具 mysql 数据库迁移工具DBeaver_MySQL_04

数据库迁移工具 mysql 数据库迁移工具DBeaver_数据库迁移工具 mysql_05

数据库迁移工具 mysql 数据库迁移工具DBeaver_MySQL_06

  1. 执行导出-导入

上一步配置好之后,就可以执行导出和导入操作了,
Dump database 是导出数据,Restore database 是导入数据。

数据库迁移工具 mysql 数据库迁移工具DBeaver_DBeaver_07

选择数据库和相应要导出的表结构。

数据库迁移工具 mysql 数据库迁移工具DBeaver_导出导入_08

如果在导出数据中没有出现问题的话,那么恭喜您,成功在望。这里导出的是.sql文件。
下一步就是导入上一步中的.sql文件

数据库迁移工具 mysql 数据库迁移工具DBeaver_导出导入_09

如果执行成功,也会有相应的成功提示。

数据库迁移工具 mysql 数据库迁移工具DBeaver_MySQL_10

遇到得问题及其解

由于我们的Docker中mysql是5.7版本的,刚一开始下载MySQL组件是8.0版本的,就爆出了如下的错误。
这是因为早期版本的MySQL数据库的information_schema数据库中没有名为COLUMN_STATISTICS的数据表,这个表不是业务上的表,而是MySQL自己的表,8.0中有,它回去检查这个表中的内容。而我们的DB服务器中没有,所以版本不一致导致如此。

mysqldump: Couldn't execute
 'SELECT COLUMN_NAME,JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"') 
 FROM information_schema.COLUMN_STATISTICS WHERE SCHEMA_NAME = 'wuxiancheng' AND TABLE_NAME = 'orange';': Unknown table 'column_statistics' in information_schema (1109)

稻盛和夫:付出不亚于任何人的努力