Mysql高性能备份方案解决数据不间断访问(LVM快照方式备份)

mysql LVM快照备份特点:

1、在大多数情况下,这种方式几乎算得上是热备。它无需关闭服务,只需要设置只读或者类似这样的限制。

2、支持所有基于本地磁盘的存储引擎,比如MYISAM、InnoDB和BDB,还支持Solid、PrimeXT和Faction。

3、备份速度最快,因为你只需要拷贝相关的二进制数据文件即可。

4、由于只是简单的拷贝文件,因此对服务器开销非常低。

5、保存方式多种多样,你可以备份到磁带上、FTP服务器上、NFS服务器上或者其他什么网络服务器,以及使用各种网络备份软件来备份。

做到这些很简单,说到底就是拷贝文件而已。

6、恢复速度很快。恢复所需要的时间等于你把数据拷贝回来的时间。你可以想出更多的方法让这个时间变得更短。

7、无需使用昂贵的商业软件。

前期准备工作

1、创建LVM分区

# lvcreate  -L 3G mysqlvg1 -n mysqllv \\创建大小为3G的逻辑卷mysqllv

# mkfs.ext4 /dev/mysqlvg1/mysqllv  \\格式化逻辑卷

2、停止mysql服务

# /etc/rc.d/init.d/mysqld stop

3、挂在逻辑卷到临时目录/tmp下

# mount /dev/mysqlvg1/mysqllv  /tmp/  \\挂载逻辑卷到临时目录

4、使用tar命令迁移原来数据库目录文件到临时目录/tmp下

# cd /var/lib/mysql/

# tar cf - . | tar xf - -C /tmp/  \\对数据进行分解压缩到/tmp下,也就是放在逻辑卷挂载的目录中

5、重新挂在逻辑卷到数据库目录下,并在/etc/fstab中添加开启自动挂载

# umount /tmp/ 卸载逻辑卷

# rm -rf /var/lib/mysql/* //删除数据库目录下的所有信息,一定要确认上一步操作OK

# mount /dev/mysqlvg1/mysqllv /var/lib/mysql/ //将逻辑卷重新挂载到数据库mysql目录下

并在/etc/fstab中添加开启自动挂载

# blkid /dev/mysqlvg1/mysqllv | awk '{print $2}' \\取出逻辑卷mysqllv的UUID值

# cat >>/etc/fstab <<endf  \\在/etc/fstab下追加逻辑卷挂载信息

> UUID=29502f33-fde2-4c21-b6c3-9fe1b74c0f0d /var/lib/mysql ext4 defaults 0 0

> endf

6、关闭selinux

# setinforce 0  \\设置为premission模式  

7、启动mysql服务

# /etc/rc.d/init.d/mysqld start

mysql数据库LVM快照备份

1、锁表

mysql> flush tables with read lock; \\防止创建快照过程中有数据写入

2、查看position信号

mysql> show master status\G; \\查看当前的position信号,方便同步到slave的时候使用

3、创建快照

# lvcreate -n mysql-snap -L 100M -s /dev/mysqlvg1/mysqllv \\将逻辑卷中的数据创建为大小为100M的快照,这个速度非常快。

4、解锁

mysql> unlock tables;\\解锁

5、挂载创建快照

# mount /dev/mysqlvg1/mysql-snap  /mnt/ \\挂载快照,为备份做准备

6、读取快照进行备份(备份需要备份的即可)

# tar cf mysql-01.tar.gz db1 db_2  \\备份快照信息到存储设备里面

7、卸载挂载的快照,然后删除快照

# umount /mnt/

# lvremove -f /dev/mysqlvg1/mysql-snap \\删除快照,节省空间  

到此,整个备份过程就算结束了。如果你想要将内容同步到slave机上的话,那么还需要多加几个步骤。

1、把备份内容拷贝到slave的数据文件目录下。

2、重启MySQL服务器,等待恢复完成。

3、使用CHANGE MASTER TO 命令告诉slave新的二进制日志位置,并从那里开始同步,(就是我们刚刚记录下来的那个)例如:

mysql> CHANGE master TO master_host=”192.168.100.109”,master_user=”slave”,master_password=”123.com”, master_log_file=”host-bin.000006″,master_log_pos=198;

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/MySQL/

时间: 2024-12-26 23:10:00

Mysql高性能备份方案解决数据不间断访问(LVM快照方式备份)的相关文章

Mysql高性能备份方案解决数据不间断访问

  备份特点: 1.在大多数情况下,这种方式几乎算得上是热备.它无需关闭服务,只需要设置只读或者类似这样的限制. 2.支持所有基于本地磁盘的存储引擎,比如MYISAM.InnoDB和BDB,还支持Solid.PrimeXT和Faction. 3.备份速度最快,因为你只需要拷贝相关的二进制数据文件即可. 4.由于只是简单的拷贝文件,因此对服务器开销非常低. 5.保存方式多种多样,你可以备份到磁带上.FTP服务器上.NFS服务器上或者其他什么网络服务器,以及使用各种网络备份软件来备份. 做到这些很简

MySQL使用LVM快照实现备份_Mysql

新建一个lvm磁盘,这里我建的lv为mydatalv,挂载到了/data下 [root@localhost ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert mydatalv mydata -wi-ao---- 1.00g [root@localhost ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/mydata-mydatalv 976M 2.6M 90

在android开发中进行数据存储与访问的多种方式介绍_Android

数据存储与访问 很多时候我们的软件需要对处理后的数据进行存储或再次访问.Android为数据存储提供了多种方式,分别有如下几种: 文件 SharedPreferences SQLite数据库 内容提供者(Content provider) 网络 使用文件进行数据存储 首先给大家介绍使用文件如何对数据进行存储,Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的. 复制代码 代码如下: public clas

云计算为备份厂商解决数据超载问题

公司希望持续的http://www.aliyun.com/zixun/aggregation/13584.html">海量数据,还没有为他们IT预算的有效解决方法.因此,为了应付和保存,有些正在考虑云备份和归档. 这对备份软件供应商来说是一个良好态势,如CommVault系统(CVLT),EMC(EMC)的,赛门铁克(SYMC)和IBM公司(IBM). 这些企业和其他公司都已调整其工作面向云的软件,并拉拢面向云的客户. 在公共互联网云保存数据,或大公司自己的私有云,可以节省钱,让IT管理人

mysql的数据备份方案

mysql按照备份恢复方式分为逻辑备份和物理备份 逻辑备份是备份sql语句,在恢复的时候执行备份的sql语句实现数据库数据的重现 物理备份就是备份数据文件了,比较形象点就是cp下数据文件,但真正备份的时候自然不是的cp这么简单 这2种备份各有优劣,一般来说,物理备份恢复速度比较快,占用空间比较大,逻辑备份速度比较慢,占用空间比较小 下面介绍以下3种常用的备案方法 mysqldump工具备份 mysqldump由于是mysql自带的备份工具,所以也是最常用的mysql数据库的备份工具.支持基于In

mysql备份方案

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://kerry.blog.51cto.com/172631/158476 数据库备份方案 一.主从同步 可以参考http://kerry.blog.51cto.com/172631/110206 二.增量备份: 每天中午12点和晚上12点做一次全备,每隔一小时备份binlog,也就是增量备份,具体操作如下: Linux下开启binlog /etc/my.cnf中的mysqld部分加入

Mysql数据库备份方案讨论

   在数据库表丢失或损坏的情况下,备份你的数据库是很重要的.如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态.有时,正是MySQL管理员造成破坏.管理员已经知道表已破坏,用诸如vi或Emacs等编辑器试图直接编辑它们,这对表绝对不是件好事.        备份数据库两个主要方法是用mysqldump程序或直接拷贝数据库文件(如用cp.cpio或tar等).每种方法都有其优缺点:        mysqldump与MySQL服务器协同操作.直接拷贝方法在服务器外部

Linux服务器数据库(MySQL、ORACLE)简单的异地备份方案

Linux服务器MySQL数据库简单的异地备份方案 首先简单说下: 1.执行脚本导出数据库. mysqldump -h127.0.0.1 -P3306 -uroot -ppassword dbname > /bak/db/backup.sql 2.使用scp将导出的数据库文件传输到其他服务器上,一般进行异地备份,容灾. scp -P 195 /bak/db/backup.sql root@xxx.xxx.xxx.xxx:/bak 其中195为ssh端口号,如果是默认的22,可以省略 -P 22.

mysql大内存高性能优化方案

8G内存下MySQL的优化 按照下面的设置试试看: key_buffer = 3840M max_allowed_packet = 16M table_cache = 1024 sort_buffer_size = 32M read_buffer_size = 32M read_rnd_buffer_size = 32M myisam_sort_buffer_size = 256M thread_cache_size = 32 query_cache_size = 256M # Try numb