文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

mysql系列之5--完全备份和增量备份

2024-04-02 19:55

关注

一、利用系统自带的工具实现完全备份:mysqldump

数据备份方式:

         物理备份:直接拷贝库或表对应的文件。限于myisam,跨平台性差

         逻辑备份:执行备份时,根据已有的数据,生成对应的sql命令,把sql保存到指定的文件里

1、备份所有的数据库:

        mysqldump -hlocalhost -uroot -p12345678   --all-databases > /opt/$(date +%F).sql

      //--all-databases--所有数据库 /opt/$(date +%F).sql 重定向到以日期命名的文件

2、备份指定的数据库:

   mysqldump -hlocalhost -uroot -p12345678   db1 db2  > /opt/$(date +%F).sql

3、完全恢复:首先要确保库存在,没有先创建

    mysql -hlocalhost -uroot -p12345678 db88 < /opt/123.sql

4、完全恢复也可以在mysql命令行里进行:source  /opt/2018-01-22.sql

5、完全备份可以用定时计划任务来进行

     if [ ! -d /data ];then    //首先判断该目录是否存在,不存在则创建

          mkdir /data

     fi

    mysqldump -uroot -p12345678 test > /data/$(date +%F)-test.sql


二、启用binlog日志实现实时增量备份  

差异备份:备份自完全备份后,所有产生的数据

增量备份:备份自上一次备份后,所有新产生的数据

  1、二进制日志,记录除查询之外的sql命令

      由于mysql默认没有启用binlog日志,故需在配置文件里面修改

      日志文件,不能大于500M,mysqlbinlog server51-bin.000001 //查看日志命令

      server_id=51                       //服务器编号,唯一

      log-bin=/mysqllog/server51  //启用logbin日志文件,指定其路径和文件名,必须要给mysql帐号权限

      binlog-format="mixed"        //指定日志文件格式,有三种格式

 2、日志文件记录sql命令的方式

       时间: 180127 23:23:29 server id 51

       偏移量:  at 313

 3、恢复数据

   A、偏移量恢复:

    mysqlbinlog  --start-position=378  --stop-position=534  /mysqllog/server51.000001      |  mysql -uroot  -p12345678 

                                    起始偏移量                           终止偏移量                       binlog日志文件                                                 登陆的帐号和密码

    B、时间恢复

        mysqlbinlog --start-datetime="2018-1-27 23:22:22" --stop-datetime="2018-1-27 23:23:29"  //指定起始时间和终止时间

          /mysqllog/server51.000001   |  mysql -uroot  -p12345678    //指定日志文件和登陆的用户名和密码

  4、  手动生成新的日志文件   binlog

         刷新日志:flush logs;

         登陆时创建:mysql  -uroot  -p123456   -e  "flush logs"

         导出备份数据库时:mysqldump  -uroot  -p123456  --flush-logs  db4  > /root/db4.sql

         重启服务器时生成新的日志文件

 5、如何删除日志

 mysql> reset   master;        //删除所有的日志,生成一个新的日志文件

 mysql> purge  master  logs  to  "日志文件名";   //删除单个日志文件

 mysql> purge  master  logs  to "plj.000006";     //删除指定日志文件之前所有的日志文件






















阅读原文内容投诉

免责声明:

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

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

软考中级精品资料免费领

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

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

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

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

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

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

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