os: centos 7.4
db: mysql 5.7.21
切换前

192.168.56.100 master
192.168.56.200 slave

切换后

192.168.56.100 slave
192.168.56.200 master

版本

MySQL [(none)]> select version();
+------------+
| version()  |
+------------+
| 5.7.21-log |
+------------+
1 row in set (0.01 sec)

master关闭mysql

# /etc/init.d/mysql.server stop
MySQL server PID file could not be found!                  [  OK  ]

slave上执行

MySQL [(none)]> stop slave io_thread;
MySQL [(none)]> show processlist\G
*************************** 1. row ***************************Id: 4User: rootHost: localhostdb: NULL
Command: QueryTime: 0State: startingInfo: show processlist
*************************** 2. row ***************************Id: 9User: system userHost: db: NULL
Command: ConnectTime: 167State: Slave has read all relay log; waiting for more updatesInfo: NULL
2 rows in set (0.00 sec)

一定要确保出现 Slave has read all relay log,才能继续往下运行

MySQL [(none)]> stop slave;
MySQL [(none)]> reset master;
MySQL [(none)]> create user 'replicator'@'192.168.56.%' identified by 'mysqlmysql';
MySQL [(none)]> grant replication slave on *.* to 'replicator'@'192.168.56.%';
MySQL [(none)]> flush privileges;
MySQL [(none)]> show processlist;
+----+------+-----------+------+---------+------+----------+------------------+
| Id | User | Host      | db   | Command | Time | State    | Info             |
+----+------+-----------+------+---------+------+----------+------------------+
|  4 | root | localhost | NULL | Query   |    0 | starting | show processlist |
+----+------+-----------+------+---------+------+----------+------------------+
1 row in set (0.00 sec)

删除服务器上的master.info和relay-log.info文件,否则下次重启时还会按照从库启动。

# cd /var/lib/mysql/
# rm -f master.info relay-log.info

新slave上执行

现在需要把老的master变为一个新的slave

MySQL [(none)]> change master tomaster_host='192.168.56.200',master_user='replicator',master_password='mysqlmysql',master_port=3306,master_log_file='mysql-bin.000001',master_log_pos=1194;MySQL [(none)]> start slave;
MySQL [(none)]> show slave status\G
*************************** 1. row ***************************Slave_IO_State: Waiting for master to send eventMaster_Host: 192.168.56.200Master_User: replicatorMaster_Port: 3306Connect_Retry: Master_Log_File: mysql-bin.000001Read_Master_Log_Pos: 1194Relay_Log_File: mysql-relay-bin.000002Relay_Log_Pos: 320Relay_Master_Log_File: mysql-bin.000001Slave_IO_Running: YesSlave_SQL_Running: Yes

确保Slave_IO_Running,Slave_SQL_Running均为Yes

新master上执行

MySQL [(none)]> show processlist\G
*************************** 1. row ***************************Id: 5User: rootHost: localhostdb: NULL
Command: QueryTime: 0State: startingInfo: show processlist
*************************** 2. row ***************************Id: 7User: replicatorHost: 192.168.56.100:44070db: NULL
Command: Binlog DumpTime: 206State: Master has sent all binlog to slave; waiting for more updatesInfo: NULL
2 rows in set (0.00 sec)

出现Master has sent all binlog to slave;说明master已经和slave建立了连接

mysql 5.7 master、salve 切换相关推荐

  1. mysql 怎么转换用户_mysql切换用户

    环境:MySql 5.5 1.切换用户: 第一种方法 1.dos进入mysql安装bin目录下: cd C:\Program Files\MySQL\MySQL Server 5.5\bin 2.输入 ...

  2. mysql 热切换_热备服务器中,切换master中切换SQL

    在master出现故障,需要一个热备服务器及时切换的时候,原先master下面的slave也需要及时的进行切换到热备的那台新master服务器上 在master出现故障,需要一个热备服务器及时切换的时 ...

  3. mysql中多个表 master salve同步搭建过程

    一.需求: 主库为 192.168.92.108 ,上面运行多个数据库,其中meibi数据库下的几个业务表需要搭建从库并同步: 从库为 192.168.92.86  ,安装了msyql软件,还没有创建 ...

  4. mysql双主故障自动切换_mysql双主热备宕机自动切换

    一.定义 通常说的「双机热备」是指两台机器都在运行,但并不是两台机器都同时在提供服务.当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短. 二.原理 Keepal ...

  5. MySQL集群中主从切换

    第一种情况:主机未宕机.正常切换 第一步,停止主从操作 在从机上执行, SHOW PROCESSLIST 发现Has read all relaylogwaiting for the slave I/ ...

  6. mysql的多master调度_innodb中master线程的调度的算法改进(mysql 5.6.26)

    innodb中master线程的调度的算法改进(mysql 5.6.26) 作者:周琳 QQ:715169549源码交流群:196380905 1.master线程的调度:/************* ...

  7. mysql双主故障自动切换_MySQL主库高可用 -- 双主单活故障自动切换方案

    前言:(PS:前言是后来修改本文时加的)对于这篇文章,有博友提出了一些疑问和见解, 有了博友的关注,也促使我想把这套东西做的更实用.更安全.后来又经过思考,对脚本中一些条件和行为做了些改变.经过几次修 ...

  8. mysql主从遇故障自动切换_mysql主宕机,主从故障切换(一主多从)

    一:环境 192.168.1.100 master 192.168.1.101 slave1 192.168.1.102 slave2 slave1,slave2都是连在master上. 二:模拟主故 ...

  9. mysql 从库 read-only_mysql salve从库设置read only 属性

    经过实际测试,对于MySQL单实例数据库和master库,如果需要设置为只读状态,需要进行如下操作和设置: 将MySQL设置为只读状态的命令: # mysql -uroot -p mysql> ...

  10. Spring+Mybatis多数据源配置(一)——MySQL与Oracle通过配置切换

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

最新文章

  1. EntityFramework Code-First 简易教程(三)-------数据库初始化
  2. 如何按多个列对数据框进行排序
  3. Spinner的使用(一):与ArrayAdapter的配合使用
  4. 转:Siri之父:语音交互或将主导未来十年发展
  5. wxWidgets:最小的 wxWidgets 示例
  6. 加工中心局部坐标系g52设定_CNC加工中心程序代码大全,数控加工必备!
  7. 在Asp.net+FCKEditor设置最新最完整配置方法(转帖)
  8. 韩顺平.2011最新版.玩转oracle视频教程笔记,韩顺平.2011最新版.玩转oracle视频教程(笔记)...
  9. 为什么每个线程都需要创建一个栈?
  10. 选择不相交区间(贪心:求不相交区间最多个数)
  11. 安全云盘项目(一):1.5 bufferevent服务端代码事件策略
  12. Digits of Factorial LightOJ - 1045(数学题?)
  13. 总结下MySql优化。防止数据灾难的发生。
  14. IIS启用GZip压缩
  15. Pyston v2 发布:比 Python 快 20%
  16. PS渐变羽化制作单车
  17. 视频直播iOS端技术
  18. 阿里云视频上传到抖音服务器
  19. android手机如何关闭程序,安卓手机如何关闭防火墙
  20. 五色石FCS周报 2019.5.13-2019.5.19

热门文章

  1. 零基础Matlab Note9--离散数据绘图set(gca, )
  2. AX 2009 删除已经发出领料单的订单行
  3. 详解关于卫星影像(卫星地图)的一些常见问题
  4. 1_requests请求
  5. 【步兵 经验篇】one step
  6. dns udp tcp
  7. Error500错误的解决方法(俩种解决方法)
  8. 对Zend5.6加密的php文件进行解密
  9. 6-1 哈夫曼树及哈夫曼编码分数
  10. pcm数据编码成为aac格式文件(可以在酷狗播放)