如何用建木CI导入导出MySQL数据
2022-01-14 早春的树
如何用建木CI导入导出MySQL数据
作者:早春的树 发布时间:2022-01-14 16:00:00

相信大家都用过MySQL吧,MySQL是最流行的关系型数据库管理系统之一,在web应用方面,MySQL是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

大家平时都是怎么迁移MySQL数据的呢?mysqldump、Xtrabackup、mysqlbinlog……

今天给大家介绍一下如何使用建木CI导入/导出MySQL数据库!

MySQL数据导出

在建木CI中,可以通过mysql数据导出节点 来完成数据导出,节点底层使用的是mysqldump命令

  • 查看节点文档

节点文档显示,输入参数中只有四个参数是必填参数,另外两个参数都是有默认值的,可以忽略

  • 定义管道DSL

定义DSL时,将管道示例复制过来,修改一下参数值就可以了

1
2
3
4
5
6
7
8
9
10
11
name: MySQL数据导出
pipeline:
mysql_export:
type: mysql_export:1.0.1-mysql8
param:
host: xxx.xxx.xxx.xxx
port: 3306 # 默认为3306,可以省略此参数
database: demo
password: ((mysql.password))
username: ((mysql.username))
tables: "table1 table2" # 默认为空,表示导出全部表

项目创建成功后,再点击触发就可以导出数据啦,输出参数sql_path为导出的sql文件路径

一般情况下,导出导入节点是一起使用的,下面看一下如何用建木CI导入MySQL数据吧!

MySQL数据导入

在建木CI中,可以通过mysql数据导入节点 来完成数据导入,节点底层使用的还是mysqldump命令

  • 查看节点文档

可以看到,导入节点的输入参数和导出节点的输入参数是差不多的,多出来的sql_path参数则刚好是导出节点的输出参数,正好可以将导出导入节点连在一起使用😃

  • 定义管道DSL

和导出节点一样,复制DSL示例修改一下参数值就可以了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
name: MySQL数据同步
pipeline:
mysql_export:
alias: MySQL数据导出
type: mysql_export:1.0.1-mysql8
param:
host: xxx.xxx.xxx.xxx
port: 3306 # 默认为3306,可以省略此参数
database: demo
password: ((mysql.password))
username: ((mysql.username))
tables: "table1 table2" # 默认为空,表示导出全部表
mysql_import:
alias: MySQL数据导入
type: mysql_import:1.0.1-mysql8
param:
host: xxx.xxx.xxx.xxx
database: demo
password: ((mysql.password))
username: ((mysql.username))
sql_path: ${mysql_export.sql_path}

保存项目DSL,点击触发,流程执行完毕就成功同步MySQL数据了!

每次需要同步的时候,只需再点击触发就行了,简直不能太方便!