GreatSQL社区

搜索

[待回复] 集群迁移

96 10 2025-1-2 21:26
MySQL容器已有的集群,可以迁移至GreatSQL吗
全部回复(10)
DB架构师:曾凡坤 2025-1-3 00:23:16
导出导入应该可以吧
公众号 求关注 https://mp.weixin.qq.com/s/8aYQ6HN_uNKLObJuIliNvg
yejr 2025-1-3 09:53:31
可以的,相同版本是100%兼容的。
不过也要注意你当前MySQL的版本号是哪个,可以参考 https://greatsql.cn/docs/8.0.32- ... sql-togreatsql.html 这里面还包含了降级操作

在实操过程中,如果遇到问题,可以来社区提问交流,也可以加小助手微信进群,更快获得帮助
reddey 2025-1-5 10:16:56
通常是可以的
一个学艺不精的国产数据库爱好者
zyx 2025-1-6 11:35:25
yejr 发表于 2025-1-3 09:53
可以的,相同版本是100%兼容的。
不过也要注意你当前MySQL的版本号是哪个,可以参考 https://greatsql.cn/d ...

mysql和greatsql都是使用的8.0.32,在三台服务器上分别将mysql迁移至GreatSQL,mysql-router就再也启动不起来了
yejr 2025-1-6 12:33:55
zyx 发表于 2025-1-6 11:35
mysql和greatsql都是使用的8.0.32,在三台服务器上分别将mysql迁移至GreatSQL,mysql-router就再也启动不 ...

具体报错信息是什么
Router连接mysql/greatsql的话,可能需要依托一些系统库表,这些也要跟着迁移过去
zyx 2025-1-6 15:49:52
yejr 发表于 2025-1-6 12:33
具体报错信息是什么
Router连接mysql/greatsql的话,可能需要依托一些系统库表,这些也要跟着迁移过去 ...

使用mysqldump备份mysql,然后导入到GreatSQL,启动mysql-router报错


[Entrypoint] MYSQL_CREATE_ROUTER_USER is not set, Router will generate a new account to be used at runtime.
[Entrypoint] Set it to 0 to reuse root instead.
[Entrypoint] Succesfully contacted mysql server at node-1:3306. Checking for cluster state.
0
12
[Entrypoint] Waiting for 3 cluster instances to become available via node-1 (0/12)
[Entrypoint] Waiting for 3 cluster instances to become available via node-1 (1/12)
[Entrypoint] Waiting for 3 cluster instances to become available via node-1 (2/12)
[Entrypoint] Waiting for 3 cluster instances to become available via node-1 (3/12)
[Entrypoint] Waiting for 3 cluster instances to become available via node-1 (4/12)
[Entrypoint] Waiting for 3 cluster instances to become available via node-1 (5/12)
[Entrypoint] Waiting for 3 cluster instances to become available via node-1 (6/12)
[Entrypoint] Waiting for 3 cluster instances to become available via node-1 (7/12)
[Entrypoint] Waiting for 3 cluster instances to become available via node-1 (8/12)
[Entrypoint] Waiting for 3 cluster instances to become available via node-1 (9/12)
[Entrypoint] Waiting for 3 cluster instances to become available via node-1 (10/12)
[Entrypoint] Waiting for 3 cluster instances to become available via node-1 (11/12)
yejr 2025-1-6 16:42:12
zyx 发表于 2025-1-6 15:49
使用mysqldump备份mysql,然后导入到GreatSQL,启动mysql-router报错

mysqldump备份时要加上-A把所有库全部导出才行。

上面提供的信息太少了,请完整描述迁移详细操作过程,包括如何用mysqldump导出的,要详细到每个命令行、参数。
zyx 2025-1-6 16:54:03
本帖最后由 zyx 于 2025-1-6 16:55 编辑
yejr 发表于 2025-1-6 16:42
mysqldump备份时要加上-A把所有库全部导出才行。

上面提供的信息太少了,请完整描述迁移详细操作过程, ...

#!/bin/bash
echo "开始迁移数据库..."
echo "开始迁移数据库..." >> /usr/local/zts-install.out
install_path=`cat /etc/systemd/system/dp_zts.bat | grep ZTS_PATH=`
install_path=${install_path##*=}

docker exec mysql sh -c 'mysqldump --opt --user=root --password=123456 --port=3306 --set-gtid-purged=OFF --result-file=/opt/sql/dp_mysql_migrate.sql --default-character-set=utf8 --routines dp' >> /usr/local/zts-install.out
docker exec mysql sh -c 'mysqldump --opt --user=root --password=123456 --port=3306 --set-gtid-purged=OFF --result-file=/opt/sql/nacos_mysql_migrate.sql --default-character-set=utf8 --routines nacos-server' >> /usr/local/zts-install.out
docker exec mysql sh -c 'mysqldump --opt --user=root --password=123456 --port=3306 --set-gtid-purged=OFF --result-file=/opt/sql/xxl_job_mysql_migrate.sql --default-character-set=utf8 --routines xxl_job' >> /usr/local/zts-install.out

if [ -f $install_path/ZTS/data/mysql/sql/dp_mysql_migrate.sql ];then
  echo "MySQL数据库备份完成,复制备份文件到GreatSQL数据库..." >> /usr/local/zts-install.out 2>&1
  cp -f $install_path/ZTS/data/mysql/sql/dp_mysql_migrate.sql $install_path/ZTS/data/greatsql/sql/
  cp -f $install_path/ZTS/data/mysql/sql/nacos_mysql_migrate.sql $install_path/ZTS/data/greatsql/sql/
  cp -f $install_path/ZTS/data/mysql/sql/xxl_job_mysql_migrate.sql $install_path/ZTS/data/greatsql/sql/
  echo "停止MySQL数据库..." >> /usr/local/zts-install.out 2>&1
  docker-compose -f $install_path/ZTS/config/docker-compose-yml/docker-compose-mysql.yml -p mysql down >> /usr/local/zts-install.out 2>&1
  echo "启动GreatSQL数据库..." >> /usr/local/zts-install.out 2>&1
  docker-compose -f $install_path/ZTS/config/docker-compose-yml/docker-compose-greatsql.yml -p greatsql up -d >> /usr/local/zts-install.out 2>&1
  if command $install_path/ZTS/install/tools/wait-for-port --host 127.0.0.1 3306 --timeout 1800  >/dev/null 2>&1;then
    docker exec greatsql sh -c 'mysql -uroot -p123456 -P3306 dp < /opt/sql/dp_mysql_migrate.sql' >> /usr/local/zts-install.out
    docker exec greatsql sh -c 'mysql -uroot -p123456 -P3306 nacos-server < /opt/sql/nacos_mysql_migrate.sql' >> /usr/local/zts-install.out
    docker exec greatsql sh -c 'mysql -uroot -p123456 -P3306 xxl_job < /opt/sql/xxl_job_mysql_migrate.sql' >> /usr/local/zts-install.out
    echo "数据库迁移完成..."
    echo "数据库迁移完成..." >> /usr/local/zts-install.out
  fi
fi
yejr 2025-1-6 17:01:44
zyx 发表于 2025-1-6 16:54
#!/bin/bash
echo "开始迁移数据库..."
echo "开始迁移数据库..." >> /usr/local/zts-install.out

我上面说了,要加 【"-A"】 导出【全部库表】,因为在mysql和mysql_innodb_cluster_metadata这两个系统库中包含了router元数据信息
12下一页
zyx

4

主题

0

博客

24

贡献

新手上路

Rank: 1

积分
41

助人为乐(铜)

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2025-1-18 12:56 , Processed in 0.022193 second(s), 18 queries , Redis On.
快速回复 返回顶部 返回列表