测试使用开源异构迁徙工具dbswitch

瑞星  金牌会员 | 2024-10-29 19:52:58 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 851|帖子 851|积分 2553

dbswitch: 异构数据库迁徙同步(搬家)工具
(base) root@node13:~# cat /etc/issue
Ubuntu 20.04.5 LTS \n \l
(base) root@node13:~# curl -k -sSL https://gitee.com/dromara/dbswitch/attach_files/1878800/download > /tmp/dbswitch_install.sh && bash /tmp/dbswitch_install.sh
Docker version 24.0.7, build afdd53b
docker-compose version 1.25.0, build unknown
Error response from daemon: No such container: dbswitch_webui
1.9.8: Pulling from inrgihc/dbswitch
e7c96db7181b: Pull complete 
f910a506b6cb: Pull complete 
b6abafe80f63: Pull complete 
7236bacef262: Pull complete 
bd5cabd0b908: Pull complete 
e5a4a63c5a3d: Pull complete 
Digest: sha256:b03c6132dd670666b9835310759c9c911b5f294a2e36fc97bea5bd6519eecde1
Status: Downloaded newer image for registry.cn-hangzhou.aliyuncs.com/inrgihc/dbswitch:1.9.8
registry.cn-hangzhou.aliyuncs.com/inrgihc/dbswitch:1.9.8
Creating network "dbswtich_default" with the default driver
Pulling mysqldb (mysql:5.7)...
5.7: Pulling from library/mysql
20e4dcae4c69: Pull complete
1c56c3d4ce74: Pull complete
e9f03a1c24ce: Pull complete
68c3898c2015: Pull complete
6b95a940e7b6: Pull complete
90986bb8de6e: Pull complete
ae71319cb779: Pull complete
ffc89e9dfd88: Pull complete
43d05e938198: Pull complete
064b2d298fba: Pull complete
df9a4d85569b: Pull complete
Digest: sha256:4bc6bc963e6d8443453676cae56536f4b8156d78bae03c0145cbe47c2aad73bb
Status: Downloaded newer image for mysql:5.7
Creating dbswitch_mysqldb ... done
Creating dbswitch_webui   ... done
*********************************************************************************************************************************************************************************************
   !!! 恭 喜 您 DBSWITCH 已 经 安 装 ( 或 升 级 ) 【成 功】 !!!

 DBSWITCH访问信息如下:
    地址:htttp://127.0.0.1:9088 
    账号:admin 
    暗码:123456  
*********************************************************************************************************************************************************************************************
(base) root@node13:~# netstat -tunlp|grep 9088
tcp        0      0 0.0.0.0:9088            0.0.0.0:*               LISTEN      846951/docker-proxy 
tcp6       0      0 :::9088                 :::*                    LISTEN      846958/docker-proxy 
(base) root@node13:~# 
http://192.168.207.13:9088
admin/123456 


测试从mysql到oracle,可以导入成功,不过表名多了双引号:
同样oracle到postgresql表名也多了双引号:

 

不能删除数据源,否则由于外键依赖的题目,导致列表报错:
删掉一个数据源后使命列表报错 · Issue #IANBO8 · dromara/dbswitch - Gitee.com
临时处理办法:
进入容器:
(base) root@node13:~# docker exec -it 490cc6414c54 /bin/bash
bash-4.2# mysql -utangyibo -n dbswitch -p123456
bash-4.2# exit
exit

删除相干使命重来,大概恢复之前删除的信息:

启停容器操纵:
  1. (base) root@node13:~# docker ps
  2. CONTAINER ID   IMAGE                                                      COMMAND                  CREATED          STATUS          PORTS                                       NAMES
  3. 45bb0453fadd   registry.cn-hangzhou.aliyuncs.com/inrgihc/dbswitch:1.9.8   "/dbswitch-release/b…"   39 minutes ago   Up 39 minutes   0.0.0.0:9088->9088/tcp, :::9088->9088/tcp   dbswitch_webui
  4. 490cc6414c54   mysql:5.7                                                  "docker-entrypoint.s…"   39 minutes ago   Up 39 minutes   3306/tcp, 33060/tcp                         dbswitch_mysqldb
  5. (base) root@node13:~# docker stop 45bb0453fadd
  6. 45bb0453fadd
  7. (base) root@node13:~# docker stop 490c
  8. 490c
  9. (base) root@node13:~# docker ps
  10. CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
  11. (base) root@node13:~# docker start 490cc6414c54
  12. 490cc6414c54
  13. (base) root@node13:~# docker start 45bb0453fadd
  14. 45bb0453fadd
  15. (base) root@node13:~# docker ps
  16. CONTAINER ID   IMAGE                                                      COMMAND                  CREATED          STATUS          PORTS                                       NAMES
  17. 45bb0453fadd   registry.cn-hangzhou.aliyuncs.com/inrgihc/dbswitch:1.9.8   "/dbswitch-release/b…"   40 minutes ago   Up 4 seconds    0.0.0.0:9088->9088/tcp, :::9088->9088/tcp   dbswitch_webui
  18. 490cc6414c54   mysql:5.7                                                  "docker-entrypoint.s…"   40 minutes ago   Up 14 seconds   3306/tcp, 33060/tcp                         dbswitch_mysqldb
  19. (base) root@node13:~#
复制代码

 dbswitch_install.sh脚本内容:
  1. #!/bin/bash
  2. set -e
  3. shellwidth=$(stty size | awk '{print $2}')
  4. DOWNLOAD_URL_DOCKER="https://get.docker.com"
  5. TMP_DBSWITCH_DIR="/tmp/dbswtich"
  6. command_exists() {
  7.         command -v "$@" > /dev/null 2>&1
  8. }
  9. # install docker
  10. install_docker_service() {
  11.         if command_exists docker && [ -e /var/run/docker.sock ]; then
  12.                 docker --version
  13.         else
  14.                 mkdir -p /etc/docker/
  15.                 cat > /etc/docker/daemon.json <<EOF
  16. {
  17.     "registry-mirrors":[
  18.         "https://docker.mirrors.ustc.edu.cn",
  19.         "http://hub-mirror.c.163.com",
  20.         "https://dhyjbe13.mirror.aliyuncs.com"
  21.     ],
  22.     "insecure-registries": ["127.0.0.1/8"],
  23.     "max-concurrent-downloads":10,
  24.     "log-driver":"json-file",
  25.     "log-level":"warn",
  26.     "log-opts":{
  27.         "max-size":"10m",
  28.         "max-file":"3"
  29.     },
  30.     "data-root":"/var/lib/docker"
  31. }
  32. EOF
  33.                 curl -sSL ${DOWNLOAD_URL_DOCKER} -o /tmp/docker.sh
  34.                 sh /tmp/docker.sh --mirror Aliyun
  35.                 docker --version
  36.                 rm -f /tmp/docker.sh
  37.                 service docker restart
  38.         fi
  39. }
  40. # install docker-compose
  41. install_docker_compose() {
  42.         if command_exists docker-compose ; then
  43.                 docker-compose --version
  44.         else
  45.                 echo "download docker-compose now ..."
  46.                 curl -SL https://gitee.com/dromara/dbswitch/attach_files/1601064/download > /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
  47.                 docker-compose --version
  48.         fi
  49. }
  50. # install dbswitch
  51. install_dbswitch_service() {
  52.         docker rm -f dbswitch_webui || true >>/dev/null
  53.         docker pull registry.cn-hangzhou.aliyuncs.com/inrgihc/dbswitch:1.9.8
  54.         rm -rf ${TMP_DBSWITCH_DIR} && mkdir -p ${TMP_DBSWITCH_DIR}
  55.         cat > ${TMP_DBSWITCH_DIR}/docker-compose.yml <<EOF
  56. version: '3.3'
  57. services:
  58.   mysqldb:
  59.     container_name: dbswitch_mysqldb
  60.     image: mysql:5.7
  61.     volumes:
  62.       - "/data/mysql:/var/lib/mysql"
  63.     environment:
  64.       TZ: Asia/Shanghai
  65.       MYSQL_DATABASE: dbswitch
  66.       MYSQL_USER: tangyibo
  67.       MYSQL_PASSWORD: 123456
  68.       MYSQL_ROOT_PASSWORD: 123456
  69.       MYSQL_ROOT_HOST: '%'
  70.   dbswitch:
  71.     container_name: dbswitch_webui
  72.     image: registry.cn-hangzhou.aliyuncs.com/inrgihc/dbswitch:1.9.8
  73.     environment:
  74.       MYSQLDB_HOST: dbswitch_mysqldb
  75.       MYSQLDB_PORT: 3306
  76.       MYSQLDB_USERNAME: tangyibo
  77.       MYSQLDB_PASSWORD: 123456
  78.       MYSQLDB_NAME: dbswitch
  79.     ports:
  80.       - 9088:9088
  81.     depends_on:
  82.       - mysqldb
  83. EOF
  84.         cd ${TMP_DBSWITCH_DIR} && docker-compose up -d
  85.         rm -rf ${TMP_DBSWITCH_DIR}
  86. }
  87. # pring line on screen
  88. function print_line() {
  89.     for ((i = 1; i <= $shellwidth; i++)); do
  90.         echo -n '*'
  91.     done
  92. }
  93. # print success
  94. print_success(){
  95.         echo ''
  96.         print_line
  97.         echo ''
  98.         echo "   !!! 恭 喜 您 DBSWITCH 已 经 安 装 ( 或 升 级 ) 【成 功】 !!!"
  99.         echo ''
  100.         echo ''
  101.         echo " DBSWITCH访问信息如下:"
  102.         echo ""
  103.         echo "    地址:htttp://127.0.0.1:9088 "
  104.         echo "    账号:admin "
  105.         echo "    密码:123456  "
  106.         echo ''
  107.         print_line
  108.         echo ''
  109. }
  110. install_docker_service
  111. install_docker_compose
  112. install_dbswitch_service
  113. print_success
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

瑞星

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表