|
| 1 | +--- |
| 2 | +title: 使用 Addax 从 MySQL 迁移数据 |
| 3 | +--- |
| 4 | + |
| 5 | +在本教程中,您将使用 Addax 从 MySQL 加载数据到 Databend。开始前,请确保您已在环境中成功部署 Databend、MySQL 和 Addax。 |
| 6 | + |
| 7 | +1. 在 MySQL 中创建一个用于数据加载的 SQL 用户,然后创建表并填充示例数据。 |
| 8 | + |
| 9 | +```sql title='在 MySQL 中执行:' |
| 10 | +mysql> create user 'mysqlu1'@'%' identified by '123'; |
| 11 | +mysql> grant all on *.* to 'mysqlu1'@'%'; |
| 12 | +mysql> create database db; |
| 13 | +mysql> create table db.tb01(id int, col1 varchar(10)); |
| 14 | +mysql> insert into db.tb01 values(1, 'test1'), (2, 'test2'), (3, 'test3'); |
| 15 | +``` |
| 16 | + |
| 17 | +2. 在 Databend 中创建对应的目标表。 |
| 18 | + |
| 19 | +```sql title='在 Databend 中执行:' |
| 20 | +databend> create database migrated_db; |
| 21 | +databend> create table migrated_db.tb01(id int null, col1 String null); |
| 22 | +``` |
| 23 | + |
| 24 | +3. 将以下代码复制到文件并保存为 _mysql_demo.json_: |
| 25 | + |
| 26 | +:::note |
| 27 | +可用参数及说明请参考文档:https://wgzhao.github.io/Addax/develop/writer/databendwriter/#_2 |
| 28 | +::: |
| 29 | + |
| 30 | +```json title='mysql_demo.json' |
| 31 | +{ |
| 32 | + "job": { |
| 33 | + "setting": { |
| 34 | + "speed": { |
| 35 | + "channel": 4 |
| 36 | + } |
| 37 | + }, |
| 38 | + "content": { |
| 39 | + "writer": { |
| 40 | + "name": "databendwriter", |
| 41 | + "parameter": { |
| 42 | + "preSql": ["truncate table @table"], |
| 43 | + "postSql": [], |
| 44 | + "username": "u1", |
| 45 | + "password": "123", |
| 46 | + "database": "migrate_db", |
| 47 | + "table": "tb01", |
| 48 | + "jdbcUrl": "jdbc:mysql://127.0.0.1:3307/migrated_db", |
| 49 | + "loadUrl": ["127.0.0.1:8000", "127.0.0.1:8000"], |
| 50 | + "fieldDelimiter": "\\x01", |
| 51 | + "lineDelimiter": "\\x02", |
| 52 | + "column": ["*"], |
| 53 | + "format": "csv" |
| 54 | + } |
| 55 | + }, |
| 56 | + "reader": { |
| 57 | + "name": "mysqlreader", |
| 58 | + "parameter": { |
| 59 | + "username": "mysqlu1", |
| 60 | + "password": "123", |
| 61 | + "column": ["*"], |
| 62 | + "connection": [ |
| 63 | + { |
| 64 | + "jdbcUrl": ["jdbc:mysql://127.0.0.1:3306/db"], |
| 65 | + "driver": "com.mysql.jdbc.Driver", |
| 66 | + "table": ["tb01"] |
| 67 | + } |
| 68 | + ] |
| 69 | + } |
| 70 | + } |
| 71 | + } |
| 72 | + } |
| 73 | +} |
| 74 | +``` |
| 75 | + |
| 76 | +4. 运行 Addax: |
| 77 | + |
| 78 | +```shell |
| 79 | +cd {YOUR_ADDAX_DIR_BIN} |
| 80 | +./addax.sh -L debug ./mysql_demo.json |
| 81 | +``` |
| 82 | + |
| 83 | +完成后,您可以在 Databend 中验证数据加载结果: |
| 84 | + |
| 85 | +```sql |
| 86 | +databend> select * from migrated_db.tb01; |
| 87 | ++------+-------+ |
| 88 | +| id | col1 | |
| 89 | ++------+-------+ |
| 90 | +| 1 | test1 | |
| 91 | +| 2 | test2 | |
| 92 | +| 3 | test3 | |
| 93 | ++------+-------+ |
| 94 | +``` |
0 commit comments