浅析MySQL备份与恢复
1. 备份
1.1 逻辑备份
MySQL的逻辑备份分为三种:SQL
、CSV
和XML
,其中SQL
是最常用的备份形式。
备份表: mysqldump -u root -p dbname > dbname.sql
备份数据库: mysqldump -u root -p --all-databases > alldb.sql
1.2 物理备份
数据库目录备份: 在关闭MySQL服务状态下,将datadir
目录拷贝到备份目录
参考示例:
# 关闭 MySQL 服务
$ sudo systemctl stop mysqld
# 进入 datadir 目录,拷贝整个数据库目录到备份目录
$ cd /var/lib/mysql
$ sudo cp -a . /backup/mysql/
# 再次打开 MySQL 服务
$ sudo systemctl start mysqld
2. 恢复
2.1 逻辑恢复
逻辑恢复是一种比物理恢复更常见、更推荐的备份恢复方式。在使用SQL备份文件时,只需要按顺序执行SQL文件即可完成数据恢复。
参考示例:
# 进入目标数据库
$ mysql -u root -p
# 选择需要恢复数据的数据库
mysql> use dbname
# 执行SQL恢复语句(具体语句根据备份文件而定)
mysql> source dbname.sql
2.2 物理恢复
物理恢复是以目录的形式恢复整个MySQL数据目录。通过将物理备份目录中存储的 MySQL 数据目录替换原数据库的 MySQL 数据目录,即可完成数据恢复。
参考示例:
# 停止 MySQL 服务
$ sudo systemctl stop mysqld
# 将备份的 MySQL 数据目录替换原数据库的 MySQL 数据目录
$ sudo rm -rf /var/lib/mysql
$ sudo cp -a /backup/mysql /var/lib/
# 修改 MySQL 数据目录的所有者和所属组
$ sudo chown -R mysql:mysql /var/lib/mysql
# 启动 MySQL 服务
$ sudo systemctl start mysqld
总结
本文介绍了MySQL的备份和恢复,主要包括逻辑备份和物理备份两种方式,并结合示例说明了备份和恢复的操作步骤。备份数据是非常重要的,希望读者能够掌握备份数据的技巧,以免发生数据损失的情况。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅析MySQL 备份与恢复 - Python技术站