练习目的
本次练习目的掌握从 MySQL 向 OceanBase 迁移数据的基本方法: mysqldump 、 datax 等。
练习内容
请记录并分享下列内容:
(必选)使用 mysqldump 将 mysql的表结构和数据同步到 OceanBase 的MySQL 租户中。
(必选)使用 datax 配置至少一个表的 MySQL 到 OceanBase 的 MySQL 租户的离线同步。
1. 服务器规划:
mysql 5.7服务器一台
|
名称 |
说明 |
|
操作系统 |
CentOS Linux release 7.8.2003 |
|
处理器 |
4 v |
|
内存 |
8 g |
|
硬盘 |
60 g |
oceanbase 4.0服务器一台
|
名称 |
说明 |
|
操作系统 |
CentOS Linux release 7.8.2003 |
|
处理器 |
4 v |
|
内存 |
12 g |
|
硬盘 |
80 g |
2使用mysqldump 从mysql 5.7 导出数据导入oceanbase
查看数据
[root@zyt008 ~]# /var/local/mysql-5.7.36/bin/mysqldump -uroot -p123456 --set-gtid-purged=OFF -P3306 testdx>./testdx.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
使用source导入到oceanbase
3.使用datax 同步mysql 到oceanbase
下载 datax 软件,解压即可
wget https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202308/datax.tar.gz
tar - xvf datax.tar.gz
创建同步作业配置文件,生成模板文件
python /root/datax/bin/datax.py -r mysqlreader -w oceanbasev10writer > /root/datax/job/my2ob.json
[root@zyt008 ~]# ls -l /root/datax/job/my2ob.json
删除 datax 中的隐藏文件
find /root/datax/plugin -name ".*" | xargs rm -f
同步配置
修改配置文件
cp /root/datax/job/my2ob.json /root/datax/job/ testdx . json
vi /root/datax/job/ testdx . json
{
"job": {
"setting": {
"speed": {
"channel": 4
},
"errorLimit": {
"record": 0,
"percentage": 0.1
}
},
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"username": "root",
"password": "123456",
"column": [
"*"
],
"connection": [
{
"table": [
"menus"
],
"jdbcUrl": ["jdbc:mysql://127.0.0.1:3306/testdx?useUnicode=true&characterEncoding=utf8"]
}
]
}
},
"writer": {
"name": "oceanbasev10writer",
"parameter": {
"obWriteMode": "insert",
"column": [
"*"
],
"preSql": [
"truncate table menus"
],
"connection": [
{
"jdbcUrl": "||_dsc_ob10_dsc_||obdemo:oboracle||_dsc_ob10_dsc_||jdbc:oceanbase://127.0.0.1:2883/test?useLocalSessionState=true&allowBatch=true&allowMultiQueries=true&rewriteBatchedStatements=true",
"table": [
"menus"
]
}
],
"username": "root",
"password":"rootPWD123",
"writerThreadCount":10,
"batchSize": 1000,
"memstoreThreshold": "0.9"
}
}
}
]
}
}
启动同步作业
python /root/datax/bin/datax.py /root/datax/job/testdx.json
检查同步情况,同步 3 条记录。
附录:
datax 任务执行中报错
使用新版本datax解
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30349701/viewspace-3009196/ ,如需转载,请注明出处,否则将追究法律责任。