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;
- 启动从库
Start slave 图片如下
二、一主两从,用mysql逻辑备份(dump) (新建一个空实例 slave1 步骤略)
- 加压环境下操作 进入主库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;
- 在新从库slave1中 启动slave
Start slave
- 进入从库查看状态
Show slave status G
- 进入主库master
Show slave hosts;
以上情况及成功。
三、解决方案
遇上以下情况
- Stop slave #停止slave从库
- Reset slave all #重置slave设置
- 进行主从连接
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;
- Start slave #启动slave从库
- Show slave status G