mysql系列之5--完全备份和增量备份
admin
2023-05-05 01:20:55
0

一、利用系统自带的工具实现完全备份: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";     //删除指定日志文件之前所有的日志文件






















相关内容

热门资讯

菲律宾总统称未下达逮捕德拉罗萨... 新华社马尼拉5月13日电(记者赵晨捷 李萌)据菲律宾媒体报道,菲总统马科斯13日称未下达逮捕参议员德...
时隔九年再度来京,特朗普有何诉... ◆5月12日,特朗普登上“空军一号”前对着镜头挥手告别。(图源:美联社)文/何平编辑/漆菲5月13日...
硬科技管控,中美关系的新压舱石 特朗普此次访华,英伟达CEO黄仁勋随行的消息提振美股市场,凸显芯片与人工智能已成为中美关系的核心议题...
报告:今年一季度AI原生APP... 中国青年网北京5月12日电(记者 高蕾)近日,第三方智能数据服务商QuestMobile发布了《中国...
七大新品发布!国轩高科第15届... 央广网合肥5月13日消息(记者徐鹏)5月16日至17日,电池龙头企业国轩高科将在合肥举办第15届全球...
百度伐谋2.0发布,李彦宏:能... 5月13日举办的Create2026百度AI开发者大会开幕式上,自我演化决策智能体百度伐谋升级至2....
泰顶级豪门曝性侵丑闻!哥哥侵犯... 泰国最有影响力的巨头之一Singha集团(胜狮集团),这两天爆出性侵丑闻。集团第四代成员,环保活动家...
什么信号?多地要求干部带头缴纳... 多地要求干部带头缴纳物业费。最近一段时间,物业费成了社会关注的焦点。原因竟然是多地密集出台文件,号召...
“这不是威胁而是绝佳机遇”,默... 【文/观察者网 张菁娟】“当下挑战之所以如此巨大,是因为我们长期以来为自己制造了太多问题,而这些问题...
老杜盟友半路杀出,“闪电夺权”... 最近两天,马尼拉的政治温度直接爆表。5月11日上午,菲律宾众议院以255票赞成、26票反对、9票弃权...