[Original] mysql-utilities tool experience

Source: Internet
Author: User

I mainly tried several REPLICATION tools. For other information, see the manual.

Let's talk about my environment:

MASTER: 192.168.1.131

SLAVE: 192.168.1.132, 192.168.1.133

ALL three databases have ALL external users.

The configuration files are as follows,


[root@mysql56-master home]# cat /etc/my.cnf[mysqld]user = yttskip-name-resolveinnodb_buffer_pool_size = 128Mbasedir = /usr/local/mysqldatadir = /usr/local/mysql/dataport = 3306server_id = 131socket = /tmp/mysql.sockexplicit_defaults_for_timestamplog-bin=mysql56-master-binbinlog-ignore-db=mysqlgtid-mode=onenforce-gtid-consistencylog-slave-updatesbinlog-format=ROWsync-master-info=1report-host=192.168.1.131report-port=3306master_info_repository=tablerelay_log_info_repository=table


The other two servers except SERVER-ID are basically the same, so I will not post them.


1. Create a master-slave script using MYSQLREPLICATE. Here I have set up two slave servers.


mysqlreplicate --master=root:root@192.168.1.131:3306 --slave=root:root@192.168.1.132:3306;...[root@mysql56-master home]# ./replicate_create# master on 192.168.1.131: ... connected.# slave on 192.168.1.132: ... connected.# Checking for binary logging on master...# Setting up replication...# ...done.# master on 192.168.1.131: ... connected.# slave on 192.168.1.133: ... connected.# Checking for binary logging on master...# Setting up replication...# ...done.


2. mysqlrplcheck checks the running status of the master and slave nodes.


[root@mysql56-master home]# mysqlrplcheck --master=root:root@192.168.1.131:3306 --slave=root:root@192.168.1.132:3306 -s# master on 192.168.1.131: ... connected.# slave on 192.168.1.132: ... connected.Test Description                                                     Status---------------------------------------------------------------------------Checking for binary logging on master                                [pass]Are there binlog exceptions?                                         [WARN]+---------+--------+------------+| server  | do_db  | ignore_db  |+---------+--------+------------+| master  |        | mysql      || slave   |        | mysql      |+---------+--------+------------+Replication user exists?                                             [pass]Checking server_id values                                            [pass]Checking server_uuid values                                          [pass]Is slave connected to master?                                        [pass]Check master information file                                        [pass]Checking InnoDB compatibility                                        [pass]Checking storage engines compatibility                               [pass]Checking lower_case_table_names settings                             [pass]Checking slave delay (seconds behind master)                         [pass]## Slave status:#                Slave_IO_State : Waiting for master to send event                   Master_Host : 192.168.1.131                   Master_User : rpl                   Master_Port : 3306                 Connect_Retry : 60               Master_Log_File : mysql56-master-bin.000002           Read_Master_Log_Pos : 151                Relay_Log_File : mysql56-slave-relay-bin.000003                 Relay_Log_Pos : 379         Relay_Master_Log_File : mysql56-master-bin.000002              Slave_IO_Running : Yes             Slave_SQL_Running : Yes               Replicate_Do_DB :           Replicate_Ignore_DB : mysql            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 : 151               Relay_Log_Space : 819               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 : 131                   Master_UUID : 4d89ad1d-bc12-11e2-87e9-080027338857              Master_Info_File : mysql.slave_master_info                     SQL_Delay : 0           SQL_Remaining_Delay : None       Slave_SQL_Running_State : Slave has read all relay log; waiting for the slave I/O thread to update it            Master_Retry_Count : 86400                   Master_Bind :       Last_IO_Error_Timestamp :      Last_SQL_Error_Timestamp :                Master_SSL_Crl :            Master_SSL_Crlpath :            Retrieved_Gtid_Set :             Executed_Gtid_Set :                 Auto_Position : 1# ...done.


3. mysqlrplshow. displays the master-slave architecture.


[root@mysql56-master home]# mysqlrplshow --master=root:root@192.168.1.131:3306 --discover-slaves-login=root:root -v# master on 192.168.1.131: ... connected.# Finding slaves for master: 192.168.1.131:3306# Replication Topology Graph192.168.1.131:3306 (MASTER)   |   +--- 192.168.1.132:3306 [IO running: Yes] - (SLAVE)   |   +--- 192.168.1.133:3306 [IO running: Yes] - (SLAVE)[root@mysql56-master home]#



4. mysqlfailover. Monitor the Master/Slave health status.


[root@mysql56-master home]# mysqlfailover --master=root:root@192.168.1.131:3306 --discover-slaves-login=root:root# Discovering slaves for master at 192.168.1.131:3306# Discovering slave at 192.168.1.132:3306# Found slave: 192.168.1.132:3306# Discovering slave at 192.168.1.133:3306# Found slave: 192.168.1.133:3306# Checking privileges.MySQL Replication Failover UtilityFailover Mode = auto     Next Interval = Tue May 14 12:27:56 2013Master Information------------------Binary Log File       Position  Binlog_Do_DB  Binlog_Ignore_DB mysql56-master-bin.0  151                     mysql            GTID Executed SetNoneReplication Health Status+----------------+-------+---------+--------+------------+-------------------------------------------+| host           | port  | role    | state  | gtid_mode  | health                                    |+----------------+-------+---------+--------+------------+-------------------------------------------+| 192.168.1.131  | 3306  | MASTER  | UP     | ON         | OK                                        || 192.168.1.132  | 3306  | SLAVE   | UP     | ON         | OK                                        || 192.168.1.133  | 3306  | SLAVE   | UP     | ON         | Binary log and Relay log filters differ.  |+----------------+-------+---------+--------+------------+-------------------------------------------+Q-quit R-refresh H-health G-GTID Lists U-UUIDs[root@mysql56-master home]#



5. mysqlrpladmin. Manage the master and slave nodes.

Stop the slave service:

[root@mysql56-master home]# mysqlrpladmin  --master=root:root@192.168.1.131:3306 --slaves=root:root@192.168.1.132:3306,root:root@192.168.1.133:3306  stop# Checking privileges.# Performing STOP on all slaves.#   Executing stop on slave 192.168.1.132:3306 Ok#   Executing stop on slave 192.168.1.133:3306 Ok# ...done.[root@mysql56-master home]#

Enable the slave service:

[root@mysql56-master home]# mysqlrpladmin  --master=root:root@192.168.1.131:3306 --slaves=root:root@192.168.1.132:3306,root:root@192.168.1.133:3306  stop# Checking privileges.# Performing STOP on all slaves.#   Executing stop on slave 192.168.1.132:3306 Ok#   Executing stop on slave 192.168.1.133:3306 Ok# ...done.[root@mysql56-master home]#


Select the best backup machine to be used after preparation.

[root@mysql56-master home]# mysqlrpladmin --master=root:root@192.168.1.131:3306 --slaves=root:root@192.168.1.132:3306,root:root@192.168.1.133:3306 elect# Checking privileges.# Electing candidate slave from known slaves.# Best slave found is located on 192.168.1.132:3306.# ...done.[root@mysql56-master home]#

Perform master-slave switchover.



[root@mysql56-master home]#  mysqlrpladmin --master=root:root@192.168.1.131:3306 --slaves=root:root@192.168.1.132:3306,root:root@192.168.1.133:3306  --new-master=root:root@192.168.1.132:3306  --demote-master switchover   # Checking privileges.# Performing switchover from master at 192.168.1.131:3306 to slave at 192.168.1.132:3306.# Checking candidate slave prerequisites.# Checking slaves configuration to master.# Waiting for slaves to catch up to old master.# Stopping slaves.# Performing STOP on all slaves.# Demoting old master to be a slave to the new master.# Switching slaves to new master.# Starting all slaves.# Performing START on all slaves.# Checking slaves for errors.# Switchover complete.## Replication Topology Health:+----------------+-------+---------+--------+------------+-----------------------------+| host           | port  | role    | state  | gtid_mode  | health                      |+----------------+-------+---------+--------+------------+-----------------------------+| 192.168.1.132  | 3306  | MASTER  | UP     | ON         | OK                          || 192.168.1.131  | 3306  | SLAVE   | UP     | ON         | OK                          || 192.168.1.133  | 3306  | SLAVE   | UP     | ON         | OK                          |+----------------+-------+---------+--------+------------+-----------------------------+# ...done.[root@mysql56-master home]#


The following figure shows the new master-slave architecture:


[root@mysql56-master home]# mysqlrplshow --master=root:root@192.168.1.132:3306 --discover-slaves-login=root:root -v# master on 192.168.1.132: ... connected.# Finding slaves for master: 192.168.1.132:3306# Replication Topology Graph192.168.1.132:3306 (MASTER)   |   +--- 192.168.1.131:3306 [IO running: Yes] - (SLAVE)   |   +--- 192.168.1.133:3306 [IO running: Yes] - (SLAVE)[root@mysql56-master home]#


This article is from "god, let's see it !" Blog, please be sure to keep this source http://yueliangdao0608.blog.51cto.com/397025/1199960

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.