当前位置: 首页 > news >正文

MySQL 全量备份迁移步骤指南

1 引言

数据库迁移这件事,说起来简单,做起来却有不少门道。特别是把MySQL数据库从一台服务器完整搬到另一台服务器上,这个过程涉及备份、传输、导入三个关键步骤。

无论是做数据迁移、灾难恢复,还是搭建测试环境,这套流程都用得上。本文会把整个过程拆解开来,从源服务器备份数据开始,到最终在目标服务器上成功导入,每个环节都会详细说明。

2 源服务器备份操作

2.1 备份工具的选择

MySQL的备份工具中,mysqldump算是最常用的一个。它能把数据库的结构和数据都转换成SQL语句,这样在其他服务器上恢复就很方便了。

这个工具有几个优点:操作简单、支持多种备份选项、兼容性好。基本上能满足大部分备份需求。

2.2 全库备份

如果要备份服务器上的所有数据库,用这个命令:

mysqldump -u [源服务器用户名] -p --all-databases > all_databases.sql

命令参数解释:

  • -u [源服务器用户名]:连接MySQL的用户名,记得替换成实际的用户名
  • -p:需要输入密码,执行后系统会提示输入
  • --all-databases:备份所有数据库
  • > all_databases.sql:把备份内容保存到文件里

2.3 单库备份

有时候只需要备份特定数据库,比如user_data

mysqldump -u [源服务器用户名] -p user_data > user_data.sql

这里user_data是数据库名,备份会保存到user_data.sql文件中。用户名同样需要根据实际情况替换。

3 文件传输到目标服务器

3.1 用scp传输

scp是基于SSH的安全文件传输工具,在服务器间复制文件很常用:

scp all_databases.sql [目标服务器用户名]@[目标服务器IP]:/home/backup/

参数说明:

  • all_databases.sql:要传输的备份文件
  • [目标服务器用户名]:目标服务器的登录用户名
  • [目标服务器IP]:目标服务器IP地址
  • /home/backup/:文件在目标服务器上的存放路径

3.2 用rsync传输

rsync功能更强大,支持增量传输,能节省时间和带宽:

rsync -avz all_databases.sql [目标服务器用户名]@[目标服务器IP]:/home/backup/

参数含义:

  • -a:归档模式,保留文件权限和时间戳
  • -v:显示传输过程的详细信息
  • -z:传输时压缩文件,减少数据量

对于大文件来说,rsync通常比scp更高效。

4 目标服务器导入数据

4.1 登录MySQL

在目标服务器上连接MySQL:

mysql -u [目标服务器用户名] -p

输入密码后就能进入MySQL命令行了。

4.2 导入全库备份

如果备份的是所有数据库,直接在MySQL命令行执行:

SOURCE /home/backup/all_databases.sql;

这里/home/backup/all_databases.sql是备份文件的完整路径。MySQL会逐行执行文件中的SQL语句,把数据导入到对应的数据库中。

4.3 导入单库备份

如果备份的是特定数据库,需要先创建数据库,再导入数据:

CREATE DATABASE IF NOT EXISTS user_data;
USE user_data;
SOURCE /home/backup/user_data.sql;

操作步骤:

  • CREATE DATABASE IF NOT EXISTS user_data;:创建数据库,如果已存在就跳过
  • USE user_data;:切换到这个数据库
  • SOURCE /home/backup/user_data.sql;:导入备份数据

5 常见问题和注意事项

5.1 权限配置

备份和导入都需要相应的数据库权限。源服务器的用户要能读取数据库,目标服务器的用户要能创建数据库和写入数据。

如果权限不够,可以这样授权:

GRANT ALL PRIVILEGES ON *.* TO 'backup_user'@'localhost' IDENTIFIED BY 'secure_password';
FLUSH PRIVILEGES;

5.2 版本兼容性

尽量保持源服务器和目标服务器的MySQL版本一致。不同版本在语法和存储格式上可能有差异,导致导入时出现问题。

如果版本不一致,建议先在测试环境验证一下。

5.3 磁盘空间检查

导入前要确保目标服务器有足够的磁盘空间。可以用df -h查看磁盘使用情况:

df -h

根据备份文件大小判断空间是否够用。如果不够,需要清理磁盘或扩容。

5.4 备份文件完整性

传输完成后,建议检查文件完整性:

# 比较文件大小
ls -lh all_databases.sql# 或者用md5校验
md5sum all_databases.sql

这样能确保文件在传输过程中没有损坏。


按照上面的步骤,就能顺利完成MySQL数据库的跨服务器迁移了。整个过程中最重要的是仔细检查每个环节,确保数据的完整性。


文章转载自:

http://Mw1pFS1t.krbjb.cn
http://0uQyNkjs.krbjb.cn
http://idfu62Yk.krbjb.cn
http://8GruGial.krbjb.cn
http://ZdvnMbt7.krbjb.cn
http://9PWYgE9A.krbjb.cn
http://xdUBGWyg.krbjb.cn
http://4AFwK0QV.krbjb.cn
http://HyX1eNSm.krbjb.cn
http://nH3dNwE7.krbjb.cn
http://PWSq1Z4r.krbjb.cn
http://PxoxCBzV.krbjb.cn
http://OigTQy5N.krbjb.cn
http://SlG81yZO.krbjb.cn
http://laGR7Xoa.krbjb.cn
http://S3ME02DZ.krbjb.cn
http://K9IAm0w5.krbjb.cn
http://B5K1N65t.krbjb.cn
http://8wpQ53Yb.krbjb.cn
http://TTT6TkkO.krbjb.cn
http://Gtbb3sgH.krbjb.cn
http://ghWRAmEY.krbjb.cn
http://7cEBLsqk.krbjb.cn
http://c5YKuCnd.krbjb.cn
http://8t8Xp5hx.krbjb.cn
http://C1ETEiQ5.krbjb.cn
http://TUmGpBog.krbjb.cn
http://erZp6i9a.krbjb.cn
http://ste3zc2B.krbjb.cn
http://WJowxXzv.krbjb.cn
http://www.dtcms.com/a/385285.html

相关文章:

  • 有关gitlab14.x版本在内网环境下无法添加webhooks的解决方法
  • O3.4 opencv摄像头跟踪
  • 数智管理学(五十二)
  • 121、【OS】【Nuttx】【周边】效果呈现方案解析:find 命令格式(上)
  • Python 3入门指南
  • I.MX6UL:EPIT
  • 企业数字化转型的 4A 架构指南:从概念解读到 TOGAF 阶段对应
  • Linux基础之部署mysql数据库
  • 【文献分享】空间互近邻关系在空间转录组学数据中的应用
  • 高精度、高带宽的磁角度传感器——MA600A
  • HarmonyOS服务卡片开发:动态卡片与数据绑定实战指南
  • HarmonyOS迷宫游戏鸿蒙应用开发实战:从零构建随机迷宫游戏(初版)
  • 拥抱依赖注入的优雅与灵活:深入解析 Spring ObjectProvider
  • HarmonyOS数据持久化:Preferences轻量级存储实战
  • 机器学习势函数(MLPF)入门:用DeePMD-kit加速亿级原子模拟
  • X电容与Y电容的区别:电路安全设计的黄金组合
  • MySQL学习笔记02-表结构创建 数据类型
  • etcd压测造成数据目录过大恢复
  • 信息系统运维管理
  • 回溯算法经典题目+详细讲解+图示理解
  • 全网首发! Nvidia Jetson Thor 128GB DK 刷机与测评(四)常用功能测评 - 目标跟踪 Object Tracking 系列
  • [代码规范篇]Java代码规范
  • C++:string模拟实现中的赋值拷贝函数现代写法诡异地崩掉了......
  • 构建AI大模型对话系统
  • Linux基本指令(9)
  • 64_基于深度学习的蝴蝶种类检测识别系统(yolo11、yolov8、yolov5+UI界面+Python项目源码+模型+标注好的数据集)
  • 3-12〔OSCP ◈ 研记〕❘ WEB应用攻击▸利用XSS提权
  • 3dma渲染噪点成因排查及优化方案
  • Lombok
  • React Scheduler(调度器)