参考文档:

利用mysqldump+二进制日志实现备份恢复数据库:http://www.178linux.com/60616

mysql进阶篇(三种备份方法总结:lvm, mysqldump, xtrabackup):http://www.178linux.com/9781

注意:备份文件和二进制日志文件不能与mysql放在同一磁盘下

节点1

1、节点1上修改mysql配置文件,开起二进制日志保存

这里我将二进制日志放在/data/mysql/目录下,/data/是我创建的另外一个lvm磁盘,本来想直接放在/data/下,发现无法启动mysql,所以建议还是放在/data/mysql中

[root@node1 ~]# mkdir -pv /data/mysql/

[root@node1 ~]# chown mysql:mysql /data/*

[root@node1 mysql]# cd /var/lib/mysql

[root@node1 mysql]# cp -a mysql-bin.000001 mysql-bin.000002 mysql-bin.index /data/mysql/

[root@node1 ~]# vim /etc/my.cnf.d/server.cnf

[server]

log_bin=/data/mysql/mysql-bin

[root@node1 ~]# service mariadb restart

2、查看二进制日志的一些信息

[root@node1 ~]# mysql

MariaDB [(none)]> show master logs;

+------------------+-----------+

| Log_name         | File_size |

+------------------+-----------+

| mysql-bin.000001 |       264 |

| mysql-bin.000002 |       245 |

+------------------+-----------+

3、查看表的存储引擎类型并备份

MariaDB [hellodb]> show table status\G;

如果engine是myisam则备份方案如下,需要对锁表后操作

[root@node1 ~]# mysqldump -uroot --lock-tables --master-data=2 --flush-logs --databases hellodb > /root/hellodb_myis.sql

如果engine是innodb则备份方案如下

[root@node1 ~]# mysqldump -uroot --single-transaction --master-data=2 --flush-logs --databases hellodb > /root/hellodb_inno.sql

--single-transaction:热备

--master-data=2:记录为注释的CHANGE MASTER TO语句

--flush-logs:日志滚动

批量修改表的存储引擎【将得到的结果一次执行即可修改,不建议直接在mysql中修改】

MariaDB [hellodb]> SELECT CONCAT('ALTER TABLE ',table_name,' ENGINE=InnoDB;') FROM information_schema.tables WHERE table_schema='hellodb' AND ENGINE='myisam';

4、修改表内数据

MariaDB [(none)]> use hellodb;

MariaDB [hellodb]> insert into students (Name,Age,Gender,ClassID,TeacherID) values ('caocao',99,'M',6,8);

MariaDB [hellodb]> delete from students where stuid=3;

5、复制备份文件到另一节点

[root@node1 ~]# scp hellodb_inno.sql 192.168.1.114:/root/

节点2

6、在另一个节点进行mysql恢复

修改节点2的配置文件

[root@node2 ~]# mkdir -pv /data/mysql

[root@node2 ~]# vim /etc/my.cnf

[mysqld]

log_bin=/data/mysql/mysql-bin

[root@node2 ~]# chown mysql:mysql /data/*

[root@node2 ~]# chown mysql:mysql /data

[root@node2 ~]# service mariadb start

还原备份文件

[root@node2 ~]# mysql

[root@node2 ~]# less hellodb_inno.sql

-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=245;

根据表中的显示,在备份那一刻,二进制日志mysql-bin.000002,操作到了245

7、在节点2上恢复二进制日志

在节点1上将245之后的二进制日志文件转换为sql文件

[root@node1 ~]# mysqlbinlog --start-position=245 /var/lib/mysql/mysql-bin.000002 > binlog.sql

复制给节点2

[root@node1 ~]# scp binlog.sql 192.168.1.114:/root/

利用刚才生产的sql文件来恢复备份之后操作的内容

[root@node2 ~]# mysql

8、查看恢复情况

[root@node2 ~]# mysql

MariaDB [(none)]> use hellodb;

MariaDB [hellodb]> select * from students;

+-------+---------------+-----+--------+---------+-----------+

| StuID | Name          | Age | Gender | ClassID | TeacherID |

+-------+---------------+-----+--------+---------+-----------+

|     1 | Shi Zhongyu   |  22 | M      |       2 |         3 |

|     2 | Shi Potian    |  22 | M      |       1 |         7 |

|     4 | Ding Dian     |  32 | M      |       4 |         4 |

|     5 | Yu Yutong     |  26 | M      |       3 |         1 |

|     6 | Shi Qing      |  46 | M      |       5 |      NULL |

|     7 | Xi Ren        |  19 | F      |       3 |      NULL |

|     8 | Lin Daiyu     |  17 | F      |       7 |      NULL |

|     9 | Ren Yingying  |  20 | F      |       6 |      NULL |

|    10 | Yue Lingshan  |  19 | F      |       3 |      NULL |

|    11 | Yuan Chengzhi |  23 | M      |       6 |      NULL |

|    12 | Wen Qingqing  |  19 | F      |       1 |      NULL |

|    13 | Tian Boguang  |  33 | M      |       2 |      NULL |

|    14 | Lu Wushuang   |  17 | F      |       3 |      NULL |

|    15 | Duan Yu       |  19 | M      |       4 |      NULL |

|    16 | Xu Zhu        |  21 | M      |       1 |      NULL |

|    17 | Lin Chong     |  25 | M      |       4 |      NULL |

|    18 | Hua Rong      |  23 | M      |       7 |      NULL |

|    19 | Xue Baochai   |  18 | F      |       6 |      NULL |

|    20 | Diao Chan     |  19 | F      |       7 |      NULL |

|    21 | Huang Yueying |  22 | F      |       6 |      NULL |

|    22 | Xiao Qiao     |  20 | F      |       1 |      NULL |

|    23 | Ma Chao       |  23 | M      |       4 |      NULL |

|    24 | Xu Xian       |  27 | M      |    NULL |      NULL |

|    25 | Sun Dasheng   | 100 | M      |    NULL |      NULL |

|    26 | caocao        |  99 | M      |       6 |         8 |

+-------+---------------+-----+--------+---------+-----------+

mysql dump 查看器_mysql备份之mysqldump工具相关推荐

  1. mysql的备份恢复原理_MySQL备份恢复-mysqldump原理

    +++++++++++++++++++++++++++++++++++++++++++ 标题:mysqldump对MySQL数据库备份恢复原理 时间:2019年2月23日 内容:mysqldump工具 ...

  2. mysql dump gtid_mysqldump导出数据备份 --set-gtid-purged=OFF

    Mysql 数据库 在主从 数据库进行 导出备份和恢复的时候,需要注意是否启用数据库用GTID模式.如果开启,则在mysqldump数据时,应该mysqldump命令加上参数--set-gtid-pu ...

  3. 备份mysql数据库攻略_mysql备份实例攻略

    本文系统Centos6.0 首先普及下备份术语:热备份:读.写不受影响: 温备份:仅可以执行读操作: 冷备份:离线备份:读.写操作均中止: 我们备份,一般备份以下几个部分: 1.数据文件 2.日志文件 ...

  4. MySQL备份之mysqldump工具--lock-all-tables

    在使用mysqldump(或者mysqlpump)备份mysql数据库时,有如下三个参数值得研究: --lock-all-tables 保证整个数据库(所有schema)的数据具有一致性快照. 在my ...

  5. mysql协议解析器_mysql协议解析

    目录 目录 1 交互过程 1.1 握手认证阶段 1.2 命令执行阶段 2 基本类型 2.1 整型值 2.2 字符串(以NULL结尾)(Null-Terminated String) 2.3 二进制数据 ...

  6. mysql数据库恢复策略_MySQL 备份和恢复策略(一)

    在数据库表丢失或损坏的情况下,备份你的数据库是很重要的.如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态.本文主要对MyISAM表做备份恢复. 备份策略一:直接拷贝数据 ...

  7. mysql 导入单个表_MySQL 备份恢复(导入导出)单个 innodb表

    MySQL 备份恢复单个innodb表呢,对于这种恢复我们我们很多朋友都不怎么了解了,下面一起来看一篇关于MySQL 备份恢复单个innodb表的教程 在实际环境中,时不时需要备份恢复单个或多个表(注 ...

  8. mysql 命令查看帮助_Mysql使用命令分级查找帮助

    本文章样例基于msql的分支版本MariaDB-10.1.19 查询所有帮助 我们如果希望知道mysql一共能为我们提供哪些帮助可以使用如下命令 ? contents 或者将?替换为help也可,二者 ...

  9. mysql怎么查看代码_MySQL中的编码查看与设置(转载)

    1.查看数据库编 2.查看数据表的编码格式 3.创建数据库时指定数据库的字符集 mysql>create database character set utf8; 4.创建数据表时指定数据表的编 ...

最新文章

  1. it转正述职报告_普通员工转正述职报告范文
  2. 重写、重构、重载区别
  3. PHP文件操作的经典案例
  4. github优秀前端项目分享(转)
  5. python打开autocad软件_python 使用pyautocad操作AutoCAD
  6. 写一个函数,输入一个十六进制,输出相应的十进制数。
  7. Dev gridView中设置自适应列宽和日期显示格式、金额的显示格式
  8. linux c多线程进度条,Ubuntu 13.04,g++4.7,Pthread实现多线程模拟实现下载进度条
  9. Js跑马灯效果 在Vue中使用
  10. 加密狗破解加密狗复制
  11. vue tinymce安装及使用
  12. Android NDK SO库隐藏内部符号表
  13. 12123 上传照片到文件服务器失败,12123软件上传不了照片怎么回事(教你最合理的上传方法)...
  14. 读史使人明智,二混子带你漫画学历史~
  15. mysql中一些字节如何计算_在MySQL中将字节值计算为兆字节(MB)?
  16. Buried Town 《死亡日记》 安卓 1.4.3版 破解 + 部分内购 版
  17. matlab 指数拟合原理,matlab指数增长和阻滞增长拟合代码.doc
  18. 题都城南庄---中华诗词-唐五代-崔护
  19. OpenCV开发笔记(七十一):红胖子8分钟带你深入级联分类器训练
  20. 过去两三年 互联网科技公司的掌舵人这样看区块链

热门文章

  1. C#的Equals不区分大小写
  2. float元素一定要闭合
  3. Eclipse改字体字号
  4. Python网络编程—(TCP、UDP区别)
  5. 分布式锁三种实现方式(DB,redis,zookeeper)比较
  6. CLR探索系列:Windbg+SOS动态调试分析托管代码
  7. HTC One 802w(联通双卡版本)刷机过程(只是记录大概的过程,网上已经有各步骤的详细过程)...
  8. 你应该了解的CSS语义化命名方式及常用命名规则
  9. 数据库连接类:DatabaseConnection
  10. Xilinx FPGA 仿真环境设置(ISE + Modelsim + Debussy)