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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介:
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=" [email]david.yang@actionsky.com[/email]"
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.






本文转自 david_yeung 51CTO博客,原文链接:http://blog.51cto.com/yueliangdao0608/149921 ,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
关系型数据库 MySQL Shell
shell学习(十七) 【mysql脚本备份】
shell学习(十七) 【mysql脚本备份】
13 0
|
14天前
|
关系型数据库 MySQL Shell
备份 MySQL 的 shell 脚本(mysqldump版本)
【4月更文挑战第28天】
24 0
|
2天前
|
关系型数据库 MySQL 数据库连接
用Navicat备份Mysql演示系统数据库的时候出:Too Many Connections
用Navicat备份Mysql演示系统数据库的时候出:Too Many Connections
|
6天前
|
关系型数据库 MySQL 数据管理
MySQL通过 bin-log 恢复从备份点到灾难点之间数据
MySQL通过 bin-log 恢复从备份点到灾难点之间数据
|
6天前
|
存储 安全 关系型数据库
MySQL中使用percona-xtrabackup工具 三种备份及恢复 (超详细教程)
MySQL中使用percona-xtrabackup工具 三种备份及恢复 (超详细教程)
|
12天前
|
弹性计算 关系型数据库 MySQL
|
13天前
|
弹性计算 关系型数据库 MySQL
备份MySQL(mysqldump 版本)
【4月更文挑战第29天】
19 0
|
19天前
|
监控 关系型数据库 MySQL
Percona Xtrabackup快速备份MySQL
Percona Xtrabackup快速备份MySQL
|
19天前
|
存储 缓存 关系型数据库
Mysql增量备份之Mysqldump & Mylvmbackup
Mysql增量备份之Mysqldump & Mylvmbackup
|
1月前
|
SQL 存储 关系型数据库
mysql数据库备份与恢复
mysql数据库备份与恢复