mysql主从复制

Mysql主从复制

一、一主一从

1.建立两个 实例 master 和 slave 步骤略

2.进入从库slave中,执行下面指令

#模板

CHANGE MASTER TO MASTER_HOST='localhost',MASTER_USER='user',MASTER_PASSWORD='passwd',MASTER_PORT=port,MASTER_AUTO_POSITION=0;

#修改过样例

CHANGE MASTER TO MASTER_HOST='192.168.180.128',MASTER_USER='replic',MASTER_PASSWORD='oracle',MASTER_PORT=55293,MASTER_AUTO_POSITION=0;

  1. 启动从库

Start slave 图片如下

 

二、一主两从,mysql逻辑备份(dump    (新建一个空实例 slave1 步骤略)  

  1. 加压环境下操作 进入主库master

sysbench --threads=10 --tables=10 --table-size=100000 --rand-type=uniform --report-interval=1 --time=10 --mysql-user=root --mysql-password=oracle --mysql-socket=/mysqldb/db_master1/mysql.sock   /usr/share/sysbench/oltp_read_write.lua prepare

sysbench --threads=10 --tables=10 --table-size=100000 --rand-type=uniform --report-interval=1 --time=1000 --mysql-user=root --mysql-password=oracle --mysql-socket=/mysqldb/db_master1/mysql.sock   /usr/share/sysbench/oltp_read_write.lua run

2.备份

mysqldump -uroot -poracle -S /mysqldb/db_master/mysql.sock --master-data=2 --single-transaction --all-database --set-gtid-purged=OFF --compact  >  test.dump

3.恢复

进入从库 source  test.dump

4 .查看binlog的备份点

Vi test.dump   找到备份点xx  写入MASTER_LOG_POS=xx

 

5. 主从一致

进入新的从库 slave1

CHANGE MASTER TO

  MASTER_HOST='192.168.180.128',

  MASTER_USER='replic',

  MASTER_PASSWORD='oracle',

  MASTER_PORT=55293,

  MASTER_LOG_FILE='master1-bin.000004',

  MASTER_LOG_POS=194,

  MASTER_CONNECT_RETRY=10;

  1. 在新从库slave1中 启动slave

Start slave

  1. 进入从库查看状态

Show slave status G

  1. 进入主库master

Show slave hosts

 

以上情况及成功。

 

 

 

 

 

 

三、解决方案

遇上以下情况

  1. Stop slave  #停止slave从库
  2. Reset slave all  #重置slave设置
  3. 进行主从连接

CHANGE MASTER TO

  MASTER_HOST='192.168.180.128',

  MASTER_USER='replic',

  MASTER_PASSWORD='oracle',

  MASTER_PORT=55293,

  MASTER_LOG_FILE='master1-bin.000004',

  MASTER_LOG_POS=194,

  MASTER_CONNECT_RETRY=10;

  1. Start slave  #启动slave从库
  2. Show slave status G  
原文地址:https://www.cnblogs.com/lswei/p/9546356.html