MYSQL 主从切换

https://blog.csdn.net/chengxuyuanyonghu/article/details/50297321

####sample 1 测试通过 (5.6 + GTID 方式同步)

1> 正常切换

1)从服务器检查SHOW PROCESSLIST语句的输出,直到你看到Has read all relaylogwaiting for the slave I/O thread to update it

从服务器:
mysql> show processlist;
+----+-------------+-----------+------+---------+------+-----------------------------------------------------------------------------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-------------+-----------+------+---------+------+-----------------------------------------------------------------------------+------------------+
| 3 | system user | | NULL | Connect | 2316 | Waiting for master to send event | NULL |
| 4 | system user | | NULL | Connect | 2178 | Slave has read all relay log; waiting for the slave I/O thread to update it | NULL |
| 12 | root | localhost | NULL | Query | 0 | init | show processlist |
+----+-------------+-----------+------+---------+------+-----------------------------------------------------------------------------+------------------+
3 rows in set (0.00 sec)

2)确保从服务器已经处理了日志中的所有语句。
mysql> STOP SLAVE IO_THREAD

当从服务器都执行完这些,它们可以被重新配置为一个新的设置。

3)在被提升为主服务器的从服务器上,发出 STOP SLAVE和RESET MASTER和RESET SLAVE操作。

mysql> STOP SLAVE;
Query OK, 0 rows affected (0.00 sec)

mysql> RESET MASTER;
Query OK, 0 rows affected (0.01 sec)

mysql> RESET SLAVE;
Query OK, 0 rows affected (0.01 sec)

4)然后重启mysql服务。

mysqladmin -uroot -p shutdown -S /var/lib/mysql/mysql_3307.sock

mysqld_safe --defaults-file=/mysqldb/data_3307/my.cnf &

5)在备用服务器(新的主服务器)创建用户grant replication slave on *.* [email protected]‘IP of A‘ identified by ‘replpwd‘

grant allprivileges on *.* to ‘repdcs‘@‘IP‘ identified by replpwd;

6) 在主服务器上RESET MASTER。然后CHANGE MASTER TOMASTER_HOST=‘原从服务器IP‘,MASTER_USER=‘用户名‘,MASTER_PASSWORD=‘密码‘ ,master_log_file=‘master-bin.000015‘ ;

mysql --host=* --port=3307 -urep -p*

change master to
master_host=‘*‘,
master_user=‘rep‘,
master_password=‘123456‘,
master_port=3307,
master_auto_position = 1;
Query OK, 0 rows affected, 2 warnings (0.02 sec)

start SLAVE;
查看状态 show slave status\G;

7)
新主库 :
Show master status;

mysql> Show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000003 | 151 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

do some dml

mysql> Show master status;
+------------------+----------+--------------+------------------+----------------------------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+----------------------------------------+
| mysql-bin.000001 | 411 | | | a7a643b1-5a42-11e8-aa18-005056a436cc:1 |
+------------------+----------+--------------+------------------+----------------------------------------+
1 row in set (0.00 sec)

如果还不行再次重启主库,并在备库上执行CHANGE MASTER TOMASTER_HOST=‘192.168.0.110‘,MASTER_USER=‘repdcs‘,MASTER_PASSWORD=‘111111‘,master_log_file=‘mysqlbin.000002‘;

8)修改应用的连接地址到新的主库

切换完成。

原文地址:https://www.cnblogs.com/feiyun8616/p/9053383.html

时间: 2024-07-31 22:39:35

MYSQL 主从切换的相关文章

mysql主从切换维护时的几点注意

随着业务量的不断增加,数据库的压力总是会越来越大的,如果是要对mysql数据库的硬件升级,势必是要对mysql主从做切换,mysql的主从复制的结构如果不借助第三方工具时做mysql的高可用,要做主从的切换是要做停机维护手动切换的,这里就以普通的一主一从的结构中简单的说一说mysql数据库主从切换的几个要注意的点: 1.server id以前看见很多人在做主从切换的时候没有注意到这一点,导致slave IO报错,包括自己也有过,这个还是要稍微注意下,尤其是在mysql的大规模集群下 2.在主从切

master_pos_wait函数与MySQL主从切换

背景 主从切换是高可用MySQL架构的必要步骤(即使用不发生,也要有备无患).一般设置为双M(M1.M2),假设当前状态为写M1,而M2只读,切换的大致流程如下: 1.  停止应用写M1,将M1设置为只读2.  检查M2的slave status直到赶上M13.  将M1设置为可写 其中在第2步细化为a)       在M1上show master status;得到binlog位置P,因为已经设为只读,不会变化b)       循环检测M2上的执行位置,若未到P,则过几秒再查.循环直到从库追上

Keepalived 监控 mysql 主从切换

1).在两台机子上面分别安装 mysql , keepalived 2). keepalived 主从: 主:vim /etc/keepalived/keepalived.conf vrrp_instance VI_1 { state BACKUP    # 备用用 BACKUP interface eth2   #用的是哪个网卡 virtual_router_id 59  #虚拟路由地址必须一样,才能配置成一个组 priority 100   # 备用用 90 advert_int 1  #M

mysql主从切换步骤

1>   正常切换 1)从server检查SHOW PROCESSLIST语句的输出,直到你看到Has read all relaylogwaiting for the slave I/O thread to update it 2)确保从server已经处理了日志中的全部语句. mysql> STOP SLAVE IO_THREAD 当从server都运行完这些,它们能够被又一次配置为一个新的设置. 3)在被提升为主server的从server上,发出 STOP SLAVE和RESET MA

MYSQL主从切换

1修改配置文件 read-only=1(主库) #read-only=1(备库) 2.查看主备库状态 show slave status \G show master status\G 3.操作备库 STOP SLAVEIO_THREAD; SHOW PROCESSLIST; 看到Has read all relay log show slave status \G STOP SLAVE; RESET MASTER; RESET SLAVE; grant replication slave on

mysql主从切换摘要

1.需要提升为主的从库,停止io线程等待slave数据全部更新完毕 stop slave IO_THREAD #show processlist的输出,直到看到状态是Slave has read all relay log; waiting for the slave I/O thread to update it,表示更新都执行完毕 2.需要提升为主的从库: stop slave 停止slavereset master grant replication slave on *.* to 're

mysql主从架构-主从正常切换,主库宕机切换。

MySQL主从切换手册 Master-Slave架构 运维部 V1.0                   2016年      05月    24   日     正常切换 检查slave同步状态 1)在master执行:show processlist; 显示Master has sent all binlog to slave; waiting for binlog to be updated 2)在slave执行:show processlist: 显示Slave has read al

mysql 主从同步详细配置教程

8.10 Mysql 主从同步 8.10.1 主从原理mysql主从同步的原理:1.在master上开启bin-log日志,用于记录master上的更改删的一些记录.2.主从各开启io线程,从上开启io线程和sql线程.同时都配置好主从上的serveid唯一性3.主上配置好授权用户,从上设置change master授权连接的命令3. 从上io线程通过授权连接master,master通过io线程检查到slav的请求的日志.postsion点位置.4.master将这些相应的请求内容发送给sla

京东MySQL数据库主从切换自动化

1. 产生背景 随着京东业务的高速增长,数据的重要性对于京东来说重要程度不说自明,在信息时代,数据有着比人们更大的力量,数据库的价值可见一斑,数据库的存在为人们提供了更快的查询,那么为了更好地做到数据库的高可用,保证持续提供服务,简化DBA操作,节省数据库故障切换的时间,故开发此数据库主从切换自动化系统. 2. 实现原理 此系统基于MHA做数据库切换,结合京东数据库切换的特点,定制自己的切换系统.MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的