对MySQL进行逻辑卷备份与恢复


2009-04-15 15:57:16
 标签:mysql lvm zrm 备份 恢复   [推送到技术圈]

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://yueliangdao0608.blog.51cto.com/397025/149921
ZRM 我之前我介绍过,这里就不多少了。
 
以下是关于用mysql-zrm 来测试 基于LVM 逻辑卷管理的数据库全库备份。
我这里用的是SUN 的VBOX 虚拟机来做的测试,基于Red Hat AS 5.3。
1. 先建立逻辑卷。
   fdisk 我就不介绍了,这里演示下怎么用创建逻辑卷以及怎么用LVM来备份MySQL 数据库。
[root@mysql01 ytt]# pvcreate /dev/hdb5
  Physical volume "/dev/hdb5" successfully created
[root@mysql01 ytt]# vgcreate VolGroup01 /dev/hdb5
  Volume group "VolGroup01" successfully created
用来存放数据。
[root@mysql01 ~]# lvcreate -L 800M -n mysqldata /dev/VolGroup01
  Logical volume "test1" created
用来存放日志。
[root@mysql01 ~]# lvcreate -L 200M -n mysqlbinlog /dev/VolGroup01
  Logical volume "test2" created
以下则是显示创建的LVM的信息:
[root@mysql01 ~]# pvdisplay /dev/hdb5
  --- Physical volume ---
  PV Name               /dev/hdb5
  VG Name               VolGroup01
  PV Size               1.99 GB / not usable 2.12 MB
  Allocatable           yes
  PE Size (KByte)       4096
  Total PE              509
  Free PE               259
  Allocated PE          250
  PV UUID               6aeXEj-MDLY-7k3B-332y-qpZX-CiIX-ME1CZy
  
[root@mysql01 ~]# vgdisplay /dev/VolGroup01
  --- Volume group ---
  VG Name               VolGroup01
  System ID            
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  37
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               1.99 GB
  PE Size               4.00 MB
  Total PE              509
  Alloc PE / Size       250 / 1000.00 MB
  Free  PE / Size       259 / 1.01 GB
  VG UUID               ux2a6e-DGQX-E05p-I0IP-75zq-TW22-M1jF2x
[root@mysql01 ~]# lvdisplay /dev/VolGroup01   
  --- Logical volume ---
  LV Name                /dev/VolGroup01/mysqldata
  VG Name                VolGroup01
  LV UUID                KFMFgG-HhXt-1xSq-VbVh-fb20-75Am-Ag6EIP
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                800.00 MB
  Current LE             200
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2
  
  --- Logical volume ---
  LV Name                /dev/VolGroup01/mysqlbinlog
  VG Name                VolGroup01
  LV UUID                urvM12-yw24-9GT7-rWsm-kaL4-GKNd-z0deZP
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                200.00 MB
  Current LE             50
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:3
随系统自动加载。
# Add the following new lines to /etc/fstab.  
/dev/VolGroup01/mysqldata /var/lib/mysql/data                    ext3
defaults        0 0
/dev/VolGroup01/mysqlbinlog /var/lib/mysql/binlog                    ext3
defaults        0 0
2. 以下是配置文件:
backup-level=0
backup-mode=raw
lvm-snapshot=10M
snapshot-plugin="/usr/share/mysql-zrm/plugins/lvm-snapshot.pl"
backup-type=regular
destination=/var/lib/mysql-zrm
all-databases=1
 user="backup"
 password="123456"
 port=3306
 socket=/var/lib/mysql/mysql.sock
mysql-binpath="/usr/bin"
mysql-binlog-path="/var/lib/mysql/binlog"
verbose=1
mailto="david.yang@actionsky.com"
html-reports=backup-status-info, backup-app-performance-info
~                                                                                                                           
3. 现在可以备份了:
[root@mysql01 ~]# mysql-zrm-backup --backup-set=ytt
...
Wed Apr 15 07:20:22 2009: ytt:backup:INFO: Locking tables and creating
snapshot
Wed Apr 15 07:20:22 2009: ytt:backup:INFO: "/usr/bin"/mysql -e "flush tables
with read lock; flush logs; show master status;system
(/usr/share/mysql-zrm/plugins/lvm-snapshot.pl --action create-snapshot --dev
/dev/VolGroup01/mysqldata --size 10M --sname zrm3pItp8EAx4 --directory
/var/lib/mysql-zrm/ytt/20090415072018/ZRM_MOUNTS/zrm3pItp8EAx4
>/tmp/zrm3pItp8EAx4.log 2>&1 );system
>(/usr/share/mysql-zrm/plugins/lvm-snapshot.pl --action create-snapshot --dev
>/dev/VolGroup01/mysqlbinlog --size 10M --sname zrmeQrLWt8M2E --directory
>/var/lib/mysql-zrm/ytt/20090415072018/ZRM_MOUNTS/zrmeQrLWt8M2E
>>/tmp/zrmeQrLWt8M2E.log 2>&1 ); unlock tables;"
Wed Apr 15 07:20:25 2009: ytt:backup:INFO: File Position        Binlog_Do_DB
Binlog_Ignore_DB
mysql.000010    98
Wed Apr 15 07:20:25 2009: ytt:backup:INFO: Output of command: 'Locking tables
and creating snapshot' is {
  Rounding up size to full physical extent 12.00 MB
   Logical volume "zrm3pItp8EAx4" created
}
Wed Apr 15 07:20:25 2009: ytt:backup:INFO: Output of command: 'Locking tables
and creating snapshot' is {
  Rounding up size to full physical extent 12.00 MB
   Logical volume "zrmeQrLWt8M2E" created

Wed Apr 15 07:20:34 2009: ytt:backup:INFO:
innodb-data=/var/lib/mysql/data/ibdata1;
Wed Apr 15 07:20:34 2009: ytt:backup:INFO:
innodb-logs=/var/lib/mysql/binlog/ib_logfile*
Wed Apr 15 07:20:34 2009: ytt:backup:INFO: raw-databases-snapshot=test mysql t_girl
Wed Apr 15 07:20:34 2009: ytt:backup:INFO: PHASE END: Creating snapshot based backup
Wed Apr 15 07:20:34 2009: ytt:backup:INFO: PHASE START: Calculating backupsize & checksums
Wed Apr 15 07:20:34 2009: ytt:backup:INFO: next-binlog=mysql.000010
Wed Apr 15 07:20:34 2009: ytt:backup:INFO: backup-size=54.83 MB
Wed Apr 15 07:20:34 2009: ytt:backup:INFO: PHASE END: Calculating backup size& checksums
Wed Apr 15 07:20:34 2009: ytt:backup:INFO: read-locks-time=00:00:03
Wed Apr 15 07:20:34 2009: ytt:backup:INFO: flush-logs-time=00:00:00
Wed Apr 15 07:20:34 2009: ytt:backup:INFO: backup-time=00:00:16
Wed Apr 15 07:20:34 2009: ytt:backup:INFO: backup-status=Backup succeeded
Wed Apr 15 07:20:34 2009: ytt:backup:INFO: Backup succeeded
4. 以下是恢复过程:
[root@mysql01 ~]# mysql-zrm-restore --backup-set=ytt  --source-directory=/var/lib/mysql-zrm/ytt/20090415072018
Wed Apr 15 07:21:04 2009: ytt:restore:INFO: Shutting down MySQL
Wed Apr 15 07:21:06 2009: ytt:restore:INFO: cp -p
"/var/lib/mysql-zrm/ytt/20090415072018//var/lib/mysql/binlog/ib_logfile0" "/var/lib/mysql/binlog"
Wed Apr 15 07:21:06 2009: ytt:restore:INFO: Restored innodb log '/var/lib/mysql/binlog/ib_logfile0'
Wed Apr 15 07:21:06 2009: ytt:restore:INFO: cp -p "/var/lib/mysql-zrm/ytt/20090415072018//var/lib/mysql/binlog/ib_logfile1"
"/var/lib/mysql/binlog"
Wed Apr 15 07:21:06 2009: ytt:restore:INFO: Restored innodb log '/var/lib/mysql/binlog/ib_logfile1'
Wed Apr 15 07:21:06 2009: ytt:restore:INFO: cp -p "/var/lib/mysql-zrm/ytt/20090415072018//var/lib/mysql/data/ibdata1"
"/var/lib/mysql/data"
Wed Apr 15 07:21:06 2009: ytt:restore:INFO: Restored innodb data file '/var/lib/mysql/data/ibdata1'
 
Wed Apr 15 07:21:10 2009: ytt:restore:INFO: Restored database from raw backup:mysql
Wed Apr 15 07:21:10 2009: ytt:restore:INFO: cp -p "/var/lib/mysql-zrm/ytt/20090415072018/t_girl/db.opt" "/var/lib/mysql/data/t_girl"
Wed Apr 15 07:21:10 2009: ytt:restore:INFO: cp -p "/var/lib/mysql-zrm/ytt/20090415072018/t_girl/http_auth.frm" "/var/lib/mysql/data/t_girl"
Wed Apr 15 07:21:10 2009: ytt:restore:INFO: Restored database from raw backup:t_girl
Wed Apr 15 07:21:10 2009: ytt:restore:INFO: Restore done in 7 seconds.

本文出自 “上帝,咱们不见不散!” 博客,请务必保留此出处http://yueliangdao0608.blog.51cto.com/397025/149921



类别:MySQL备份与恢复 技术圈()阅读() ┆ 评论()推送到技术圈返回首页  


    文章评论
 
2009-04-15 17:36:58
非常不错的好文章,最近也在研究学习MySQL

2009-04-16 13:54:00
欢迎新来的筒子。呵呵。顶一下MySQL专家。

博主回复:
欢迎。
2009-04-19 21:04:08

2009-04-17 13:02:26
顶顶啊!
准备攻克 MySQL

博主回复:
你也开始MySQL了吗
2009-04-19 21:03:57

2009-04-19 20:10:39
博主您好!我推送了您的很多文章进入MySQL技术圈。还望博主不吝赐教,继续支持技术圈。
地址:http://g.51cto.com/sfmysql

另外想请博主当这个技术圈的解答专家,每半个月定期为圈友解答MySQL的问题。可以吗?

打扰了!

博主回复:
当然可以。
2009-04-19 21:03:39

2009-04-19 21:17:07
谢谢博主支持。另外,您建立的那个MySQL技术圈也一并进入我这个MySQL技术圈吧,可以吗?具体的我来管理,您只需要定期解答问题就可以了,我将定期搜索一些文章,包括了从初级到高级的一系列文章,这样初学者和管理员都能找到学习和参考的地方。地址:http://g.51cto.com/sfmysql

谢谢您!

博主回复:
当然可以。我现在也没有那么多时间来管理了。
^_^
2009-04-19 23:13:42

2009-04-19 22:38:11
感谢博主对 1234567aaa的支持..
我作为技术圈的管理员..
也非常感谢和钦佩您..乐于助人..很让人感动
我是李小虎.. 有什么意见和建议希望您能到博客里留言 谢谢

博主回复:
OK。一定。
2009-04-19 23:13:58

2009-04-21 14:01:22
正准备呢,现在正全力学习Solaris。
下一次不是MySQL 就是Oracle。

 

发表评论

昵   称:
验证码:  请点击后输入验证码 博客过2级,无需填写验证码
内   容: