MySQL主从恢复(全量恢复数据)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35767346/article/details/86674180

目录

 

一:检查主从同步状态

二:主从恢复

三:检查


一:检查主从同步状态

主:

从:

首先可以由mstaer status观察到主从已经未同步,其次slave status看到slave_sql的运行状态是no的,而且有error产生错误代码1062;网上百度的跳过错误的方式并没有解决该问题,所以决定重做主从,恢复全量数据。

二:主从恢复

1.备份主库数据:

#mysqldump --socket=/xxx/mysql.sock --single-transaction --master-data=2 -uroot -p'xxxx' -h xx.xx.xx.xx --all-databases > dbdump_20190128.sql

 mysqldump:mysql导出工具

--socket、-u、-p、-h:指定mysql的sock文件、用户名、密码、主机地址

--single-transaction:保证一个事务中所有相同的查询读取到同样的数据,其他innodb引擎的线程修改了表的数据并提交,对该dump线程的数据并无影响,不会锁表

--master-data=2:对于生成的sql文件产生备份时刻的mysql-bion的信息和pos信息

--all-databases:备份全库 

  2.从库恢复数据:

         1)先将导出数据文件分发给slave主机

         2)从库恢复数据:MySQL [(none)]> source /root/dbdump_20190128.sql

3.确认master的mysql-bin和pos信息:

cat   dbdump_20190128.sql | grep MASTER_LOG_FILE | grep mysql-bin.000

4.主从同步:

  1.          1)停slave

    MySQL [none]>  stop slave;

             2)同步

    MySQL [none]>  change master to master_host='xx.xx.xx.xx',master_user='root',master_password='xxxx',master_port=3306,master_log_file='mysql-bin.000163',master_log_pos=697435740,master_connect_retry=30;

            3)启slave 

    MySQL [none]> start  slave;   

三:检查

 

  1. 查看从库状态
  2. 在主库新建库或表,观察从库是否同步

猜你喜欢

转载自blog.csdn.net/qq_35767346/article/details/86674180