上一篇
场景引入:
凌晨3点,你正喝着第三杯咖啡☕,突然发现测试环境的数据库被同事误删了表,老板要求1小时内恢复数据并同步到新服务器…别慌!掌握MySQL数据库复制的正确姿势,这种危机分分钟化解!
# 导出原库(-R导出存储过程,-E导出事件) mysqldump -u root -p --routines --events db_name > backup.sql # 导入到新库(先创建空数据库) mysql -u root -p new_db < backup.sql
💡 优点:简单直接,兼容不同MySQL版本
⚠️ 注意:大数据量可能耗时久(GB级数据可能要喝杯茶等待🍵)
systemctl stop mysql
cp -R /var/lib/mysql/db_name /new_path/db_name
chown -R mysql:mysql /new_path/db_name
🚀 适用场景:TB级数据迁移,速度比逻辑导出快10倍+
配置步骤:
[mysqld] server-id = 1 log_bin = mysql-bin binlog_format = ROW
CREATE USER 'repl_user'@'%' IDENTIFIED BY 'StrongPassword!'; GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';
CHANGE MASTER TO MASTER_HOST='主库IP', MASTER_USER='repl_user', MASTER_PASSWORD='StrongPassword!', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=154;
✨ 高级玩法:
-- 在被克隆服务器执行 INSTALL PLUGIN clone SONAME 'mysql_clone.so'; -- 在目标服务器执行 CLONE INSTANCE FROM 'user'@'host':3306 IDENTIFIED BY 'password';
⚡ 特点:
util.dumpInstance()
实现并行导出 ⚡ character_set_server
一致 --skip-add-auto-increment
--max_allowed_packet=512M
调大传输包 mysql_upgrade
升级系统表 slave_parallel_workers=8
--compress
参数减少网络负载 :无论是5MB的小库还是5TB的庞然大物,MySQL都提供了对应的复制方案,关键是根据业务场景选择合适的方法——临时备份用mysqldump,实时同步用主从复制,迁移大库首选物理拷贝!
(本文方法验证环境:MySQL 8.0.32/5.7.42,2025年8月测试通过) 🎯
本文由 昝雅琴 于2025-08-01发表在【云服务器提供商】,文中图片由(昝雅琴)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/507018.html
发表评论