Mysql数据库的备份恢复
来源:互联网 发布:江一燕 支教 知乎 编辑:程序博客网 时间:2024/04/30 02:41
1. 两种备份方法
一般来说,MySQL数据库有两种备份方式:逻辑备份和物理备份。
逻辑备份物理备份做法用mysqldump将数据库内容导出成.sql的文件,恢复时执行sql语句就可以了将数据库文件复制到其它地方保存起来优点操作灵活、简单恢复非常快,只需要把文件拷回来就可以了缺点恢复操作非常慢,数据库很大时,恢复时间会长到不可接受操作相对复杂,需要的磁盘空间多由于珍立拍数据库的数据量将来会非常大,所以建议采用物理备份为主,以便快速恢复。 除物理备份外,可以定期执行一次逻辑备份。
2. 怎样做物理备份
由于需要24小时提供服务,数据库服务不能停。备份的时候,很可能数据库文件还在变化,怎样保证文件的一致性呢。我们可以采用做快照的方法。 快照就是一个文件系统瞬间的镜像,创建后,文件无论再怎样改动,快照的内容保持不变。 在Linux操作系统上,创建镜像需要LVM,具体的方法如下:
2.1 创建逻辑卷
1. 从硬盘驱动器,创建物理卷。假设有两块空闲磁盘sdb和sdc,先在两块磁盘上创建物理卷(pv)
# pvcreate /dev/sdb
# pvcreate /dev/sdc
# pvdisplay
2. 从物理卷创建卷组datavg
# vgcreate datavg /dev/sdb /dev/sdc
# vgdisplay
3. 从卷组中创建逻辑卷data
# lvcreate -L 38G -n data datavg
# lvscan
4. 创建文件系统,挂载到/data
# mkfs.ext4 /dev/datavg/data
# mkdir /data
# mount /dev/datavg/data /data
5. 设置启动时挂载
添加这一行到 /etc/fstab 中
/dev/datavg/data /data ext4 defaults 1 2
2.2 把mysql数据文件放在卷上
# service mysqld stop
# cd /var/lib
# mv mysql /data
# ln -s /data/mysql
# service mysqld start
2.3 为卷做快照, 备份快照
# lvcreate -L 1M -s -n data_backup /dev/datavg/data
# mkdir /data_backup
# mount /dev/datavg/data_backup /data_backup
# tar zcvf data_backup_20140529.tgz /data_backup
# umount /data_backup
# lvremove -f /dev/datavg/data_backup
# rm -rf /data_backup
将生成的备份文件data_backup_20140529.tgz保存到其它地方。
2.4 恢复试验
修改数据库
# mysql -u root
mysql> drop database vividcase;
恢复
# service mysqld stop
# tar zvxf data_backup_20140529.tgz
# cd /data
# mv mysql mysql.1
# mv /data_backup_20140529/mysql .
# service mysqld start
登录进mysql, 可以看到被删除的数据库已经恢复了。
- Mysql数据库的备份恢复
- mysql 数据库备份恢复
- MYSQL数据库备份恢复
- mysql的数据库的备份与恢复
- MySQL数据库的备份及恢复
- MySQL 数据库的备份和恢复
- MySQL 数据库的备份和恢复(1)
- MySQL 数据库的备份和恢复(2)
- MySQL 数据库的备份和恢复
- MySQL 数据库的备份和恢复
- MySQL 数据库的备份和恢复
- MySQL 数据库的备份和恢复
- MySQL数据库的备份恢复命令
- MySQL数据库的备份和恢复
- MySQL数据库备份和恢复的解决方案
- MySQL 数据库的备份和恢复
- MYSQL数据库的备份与恢复
- MySQL 数据库的备份和恢复
- 设计模式学习笔记——访问者模式
- HDU 1863 畅通工程 (最小生成树) By-小宇
- 滤波电容的选择
- iptables的CLUSTER target与以太网交换机的思想
- Codeforces Round #1B Spreadsheets
- Mysql数据库的备份恢复
- uva 579(数学)
- 使用本地Git管理GitHub的仓库
- php——学习笔记,参差一些jquery的知识
- 从Windows消息的角度看窗口应用程式的运行过程
- Hybrid Monte Carlo algorithm(HMC)
- C#学习杂记1:using指令
- 指针的指针
- mapreduce排序和二次排序以及全排序