《Mysql入门使用LVM快照功能实现MySQL热备份》要点: 本文介绍了Mysql入门使用LVM快照功能实现MySQL热备份,希望对您有用。如果有疑问,可以联系我们。
导读:MySQL备份的常见办法1、mysqldump命令2、数据库文件拷贝命令3、主从数据库备份第一和第二种办法都会中断运行MySQL一段时间,尤其是在数据量...
MySQL备份的常见办法 1、mysqldump命令 2、数据库文件拷贝命令 3、主从数据库备份 第一和第二种办法都会中断运行MySQL一段时间,尤其是在数据量比较大的时候,中断的时间会比较长,这样同时也会造成网站的中断. 第三种办法虽然不会中断数据库,但主从经常会出现数据不一致的情况,而且要同时维护一台slave数据库,成本比较高.MYSQL学习
本文介绍一种利用LVM的快照功能做MySQL数据库备份的办法. 优点:完全不影响MySQL的运行,网站无需中断. 首先,需要将MySQL的数据库目录放到LVM中.MYSQL学习
可以通过更改my.cnf的datadir参数来实现,也可以不改参数,用 ln -s 创建符号链接的办法将某一个数据库指向LVM中. ?MYSQL学习
lvcreate -L10G -n mysql-data vg01 mkfs.ext3 /dev/vg01/mysql-data mkdir /home/mysqldata mount /dev/vg01/mysql-data /home/mysqldata chown -R mysql:mysql /home/mysqldata ln -s /home/mysqldata/YOUR-DB /var/lib/mysql/YOUR-DB
开始用LVM快照做备份: 1、首先,给/dev/vg01/mysql-data创建一个快照卷,通常不必要为快照卷分配和父卷一样的空间大小,一般分配父卷的10%即可. ?MYSQL学习
lvcreate -s -L1G -n mysql-data-snapshot /dev/vg01/mysql-data ?
2、用dd敕令拷贝快照到备份文件 ?MYSQL学习
dd if=/dev/vg01/mysql-data-snapshot of=/backup/mysql-data-backup.img ?
3、将备份文件上传到备份服务器上 建议将备份好的文件上传到远程的服务器上,以防止服务器发生意外故障而造成当地备份文件丢失. 4、快照卷现在已经不需要了,删除掉 ?MYSQL学习
lvremove /dev/vg01/mysql-data-snapshot ?
创建好了备份.备份周期可以一天一次,写好备份脚本,每天凌晨3-5点左右进行自动备份(该时间段一般拜访量最小).MYSQL学习
当MySQL出现问题或其它情况必要恢复备份时,可以将备份好的文件恢复到LVM中去. 1、首先,创建一个新LV卷 ?MYSQL学习
lvcreate -L10G -n mysql-data-new vg01 ?
2、如果本地没有保留备份文件,则从备份服务器上下载最新的备份文件 3、利用/dev/loop设备挂载备份文件 ?MYSQL学习
losetup /dev/loop0 mysql-data-backup.img
4、用dd敕令拷贝备份文件到新建的LV卷里 ?MYSQL学习
dd if=/dev/loop0 of=/dev/vg01/mysql-data-new
5、关闭mysql,需要的时候同时也要关闭webserver ?MYSQL学习
/etc/init.d/mysql stop
6、重新mount ?MYSQL进修
umount /home/mysqldata mount /dev/vg01/mysql-data-new /home/mysqldata
7、检查MySQL是否正常,如果一切正常,删除本来的硬盘文件,卸载loop设备 ?MYSQL学习
losetup -d /dev/loop0 lvremove /dev/vg01/mysql-data
至此,备份完成.MYSQL进修
欢迎参与《Mysql入门使用LVM快照功能实现MySQL热备份》讨论,分享您的想法,编程之家PHP学院为您提供专业教程。 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|