文章内容

2025/11/23 19:05:00,作 者: 黄兵

MySQL 8.0 远程迁移

最近腾讯云的轻量数据库到期了,重新购买了一台规格更小的数据库,准备做迁移。

将详细的迁移过程记录,以方便以后的相同迁移操作。

⭐ 推荐迁移方式:逻辑备份 → 导入(mysqldump)

这是最通用、无版本兼容风险的方法。

✔️ 步骤 1:从旧库导出 .sql 文件

在你的服务器、本地机 或 云主机执行:

mysqldump -h hk-cynosdbmysql-grp-s.sql.tencentcdb.com \
-P 21273 \
-u your_user \
-p \
--set-gtid-purged=OFF \
--single-transaction \
--routines \
--triggers \
cloud_product > backup.sql

参数说明:

  • --single-transaction ➜ 导出时不会锁表

  • --set-gtid-purged=OFF ➜ 避免不同云供应商的 GTID 冲突(MySQL 8 必须加)

  • --routines / --triggers ➜ 确保函数、触发器全部迁移

✔️ 步骤 2:将数据导入新库

确定你已经创建:

  • 新数据库:rewrite_cloud_sms_production

  • 新数据库用户:并赋予 ALL PRIVILEGES(至少 SELECT/INSERT/UPDATE/CREATE/ALTER)

然后执行导入:

mysql -h hk-cdb-8.sql.tencentcdb.com \ -P 25382 \ -u your_new_user \ -p \ cloud_product < backup.sql
✔️ 步骤 3:验证迁移结果

登录新库:

mysql -h hk-cdb-8.sql.tencentcdb.com -P 282 -u your_new_user -p

检查:

USE cloud_sms_product; SHOW TABLES; SELECT COUNT(*) FROM some_table;

确认数据一致即可。

✔️ 注意事项(必须看)
① 两个数据库都在腾讯云,但不同实例 → 一定要使用逻辑备份

不要使用物理复制或 xtrabackup,会有 GTID / innodb 版本问题。

② 如果表非常大(>50GB)

可以加上 --compress

mysqldump --compress ...
③ 如果你没有开放外网白名单

需要将执行迁移的服务器加入“允许访问 IP”。


其它相关推荐:

1、mysql 数据库迁移的一次记录

2、Mysql 同一个数据库服务器转移数据

3、MySQL 如何更改用户密码

4、MySQL新建数据库以及授权过程

5、mysql远程连接命令

分享到:

发表评论

评论列表