文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MySQL如何实现备份与恢复

2024-04-02 19:55

关注

小编给大家分享一下MySQL如何实现备份与恢复,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

实验环境:RHEL5.8 ,SElinux关闭,MySQL是tar包初始化安装版本5.5.28

一.测试环境准备

1.1 mysql的安装就不说了,见 http://www.linuxidc.com/Linux/2012-04/58990.htm

1.2 编缉/etc/my.cnf把二进制日志存放目录改到其它非数据目录,innodb每表一文件

建立一目录用于存放二进制日志

  1. mkdir /mybinlog

  2. chown mysql:mysql /mybinlog

修改my.cnf

  1. vim /etc/my.cnf

  2. log-bin=/mybinlog/mysql-bin ##二进制日志目录及文件名前缀

  3. innodb_file_per_table = 1 ##启用InnoDB表每表一文件,默认所有库使用一个表空间

启动mysqld

  1. service mysqld start

1.3 创建一个测试库与测试表

  1. mysql> create database laoguang;

  2. mysql> use laoguang;

  3. mysql> create table linux (id tinyint auto_increment primary key,name char(10));

  4. mysql> insert into linux (name) values ('apache'),('nginx'),('php');

1.4 创建用于存放备份的目录

  1. mkdir /myback

  2. chown -R mysql:mysql /myback

二,用mysqldump实现备份

2.1 mysqldump用来温备,所以我们得为所有库加读锁,并且滚动一下二进制日志,并记录当前二进制文件位置

  1. mysqldump --all-databases --lock-all-tables --routines --triggers --master-data=2 \

  2. --flush-logs > /myback/2012-12-3.19-23.full.sql

  3. --all-tables 备份所有库

  4. --lock-all-tables 为所有表加读锁

  5. --routinge 存储过程与函数

  6. --triggers 触发器

  7. --master-data=2 在备份文件中记录当前二进制日志的位置,并且为注释的,1是不注释掉在主从复制中才有意义

  8. --flush-logs 日志滚动一次

查看有没有备份成功,有没有启用新二进制的日志,查看备份的文件中有没有记录完整备份后二进制的位置

备份二进制日志

  1. cp /mybinlog/mysql-bin.000001 /myback/2012-12-3.19-23.full.00001

2.2 模拟数据库意外损坏,测试完整恢复

  1. rm -rf /data/mydata;

  2. DROP TABLE `linux`

  3. ;

  4. DELIMITER ;

  5. # End of log file

2.3.4 由上图可知删除是在8893时做的,将二进制文件中完整备份到删除表之前的记录导出

  1. mysqlbinlog --stop-position=8893 /mybinlog/mysql-bin.000001 > /tmp/change.sql

  2. --start-position 指定从哪开始导出二进制日志

  3. --stop-position 指定到哪结束

  4. --start-datetime 从哪个时间开始格式如"2005-12-25 11:25:56"

  5. --stop-datetime 到哪个时间结束

由于这个二进制日志是我们完整恢复后才启用的,所以我们直接从头开始即可,如果你的二进制日志很多,请查看完整备份中记录的备份时的位置,从那开始到删除之前即可

将这段二进制记录应用到mysql的库中

  1. mysql < /tmp/change.sql

进入数据库查看数据有没有恢复

  1. mysql> select * from linux;

看完了这篇文章,相信你对“MySQL如何实现备份与恢复”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯