1. Stop transactions/writes on the current Master
When you want to promote a slave to Master, the first step is to set the master to read only, to make sure all transactions are commited and to kill all opened sessions.You can stop transactions/writes by running on of the following commands on your Master.
Using the Flush tables.
flush tables with read lock;
Setting the global READ_ONLY to ON.
show variables like "read_only"; set global read_only=1; You can also type set global read_only = ON; show variables like "read_only";
If all transsactions are not gone after few minutes, kill all remaining opened transactions if necessary.
When when moving the master role, I prefer to stop the Primary Master then promote the Slave as Master.
2. Make sure your Slave has the same data as the current Master
On the current Master if it is not stopped.show master status\G
*************************** 1. row *************************** File: log-bin.000056 Position: 425307404 Binlog_Do_DB: Binlog_Ignore_DB: 1 row in set (0.01 sec)
On the Slave
show slave status/G
*************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.0.10 Master_User: repl Master_Port: 3306 Connect_Retry: 60 Master_Log_File: log-bin.000058 Read_Master_Log_Pos: 39696180 Relay_Log_File: mysql_relay-bin.000127 Relay_Log_Pos: 39696324 Relay_Master_Log_File: log-bin.000058 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 39696180 Relay_Log_Space: 39696521 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0 Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 123 1 row in set (0.00 sec)
3. Stop the replication on the slave
stop slave; change master to master_host=’’; reset slave;
4. check the status on the new master
show master status\G
No comments:
Post a Comment