使用 Addax 从 MySQL 迁移数据
在本教程中,您将使用 Addax 从 MySQL 加载数据到 Databend。开始前,请确保您已在环境中成功部署 Databend、MySQL 和 Addax。
- 在 MySQL 中创建一个用于数据加载的 SQL 用户,然后创建表并填充示例数据。
在 MySQL 中执行:
mysql> create user 'mysqlu1'@'%' identified by '123';
mysql> grant all on *.* to 'mysqlu1'@'%';
mysql> create database db;
mysql> create table db.tb01(id int, col1 varchar(10));
mysql> insert into db.tb01 values(1, 'test1'), (2, 'test2'), (3, 'test3');
- 在 Databend 中创建对应的目标表。
在 Databend 中执行:
databend> create database migrated_db;
databend> create table migrated_db.tb01(id int null, col1 String null);
- 将以下代码复制到文件并保存为 mysql_demo.json:
mysql_demo.json
{
"job": {
"setting": {
"speed": {
"channel": 4
}
},
"content": {
"writer": {
"name": "databendwriter",
"parameter": {
"preSql": ["truncate table @table"],
"postSql": [],
"username": "u1",
"password": "123",
"database": "migrate_db",
"table": "tb01",
"jdbcUrl": "jdbc:mysql://127.0.0.1:3307/migrated_db",
"loadUrl": ["127.0.0.1:8000", "127.0.0.1:8000"],
"fieldDelimiter": "\\x01",
"lineDelimiter": "\\x02",
"column": ["*"],
"format": "csv"
}
},
"reader": {
"name": "mysqlreader",
"parameter": {
"username": "mysqlu1",
"password": "123",
"column": ["*"],
"connection": [
{
"jdbcUrl": ["jdbc:mysql://127.0.0.1:3306/db"],
"driver": "com.mysql.jdbc.Driver",
"table": ["tb01"]
}
]
}
}
}
}
}
- 运行 Addax:
cd {YOUR_ADDAX_DIR_BIN}
./addax.sh -L debug ./mysql_demo.json
完成后,您可以在 Databend 中验证数据加载结果:
databend> select * from migrated_db.tb01;
+------+-------+
| id | col1 |
+------+-------+
| 1 | test1 |
| 2 | test2 |
| 3 | test3 |
+------+-------+