PHP程序员玩转Linux系列 备份还原MySQL
简介
当我们在网站开发中涉及到MySQL数据库的操作时,备份还原数据库是很必要的操作。Linux系统提供了多种方式来备份和还原MySQL数据库。
方法一:使用 mysqldump 命令
备份数据库
使用 mysqldump
命令可以备份MySQL数据库。以下是备份的命令:
mysqldump -u username -p database_name > backup_file.sql
其中,username
是你的MySQL用户名,database_name
是要备份的数据库名称,backup_file.sql
是备份后生成的文件,你可以自己定义文件名。
还原数据库
使用 mysql
命令可以还原MySQL数据库。以下是还原的命令:
mysql -u username -p database_name < backup_file.sql
其中,username
是你的MySQL用户名,database_name
是要还原的数据库名称,backup_file.sql
是你之前备份的文件名称。
方法二:使用 LVM 卷快照备份
备份数据库
使用LVM卷快照可以备份MySQL数据库。以下是备份的命令:
# 创建新的快照卷
lvcreate -L 1G -s -n mysqldata_snapshot /dev/mapper/vg-mysqldata
# 将快照卷挂载到 /mnt/mysqldata_snapshot
mkdir /mnt/mysqldata_snapshot
mount /dev/mapper/vg-mysqldata_snapshot /mnt/mysqldata_snapshot
# 将 /mnt/mysqldata 中的数据复制到快照卷中
rsync -avh /mnt/mysqldata/ /mnt/mysqldata_snapshot/
还原数据库
使用LVM卷快照可以还原MySQL数据库。以下是还原的命令:
# 卸载原来的卷
umount /mnt/mysqldata
# 删除原来的卷
lvremove /dev/mapper/vg-mysqldata
# 重命名快照卷
lvrename /dev/mapper/vg-mysqldata_snapshot /dev/mapper/vg-mysqldata
# 将新的卷挂载到 /mnt/mysqldata
mkdir /mnt/mysqldata
mount /dev/mapper/vg-mysqldata /mnt/mysqldata
示例说明
以下是示例说明:
示例一:使用 mysqldump 命令备份和还原
备份数据库:
mysqldump -u root -pwordpress > ~/wordpress-backup.sql
此命令将 wordpress
数据库备份到用户主目录下的 wordpress-backup.sql
文件中。
还原数据库:
mysql -u root -pwordpress < ~/wordpress-backup.sql
此命令将 wordpress-backup.sql
文件中备份的数据库还原到 wordpress
数据库中。
示例二:使用 LVM 卷快照备份和还原
备份数据库:
# 创建新的快照卷
lvcreate -L 1G -s -n mysqldata_snapshot /dev/mapper/vg-mysqldata
# 将快照卷挂载到 /mnt/mysqldata_snapshot
mkdir /mnt/mysqldata_snapshot
mount /dev/mapper/vg-mysqldata_snapshot /mnt/mysqldata_snapshot
# 将 /mnt/mysqldata 中的数据复制到快照卷中
rsync -avh /mnt/mysqldata/ /mnt/mysqldata_snapshot/
此命令将 /dev/mapper/vg-mysqldata
卷中的 mysqldata
数据库备份到 /dev/mapper/vg-mysqldata_snapshot
快照卷中。
还原数据库:
# 卸载原来的卷
umount /mnt/mysqldata
# 删除原来的卷
lvremove /dev/mapper/vg-mysqldata
# 重命名快照卷
lvrename /dev/mapper/vg-mysqldata_snapshot /dev/mapper/vg-mysqldata
# 将新的卷挂载到 /mnt/mysqldata
mkdir /mnt/mysqldata
mount /dev/mapper/vg-mysqldata /mnt/mysqldata
此命令将 /dev/mapper/vg-mysqldata_snapshot
快照卷中备份的 mysqldata
数据库还原到 /dev/mapper/vg-mysqldata
卷中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP程序员玩转Linux系列 备份还原MySQL - Python技术站