欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

【原创】mysql-utilities工具体验

程序员文章站 2022-05-19 16:21:15
...

我主要体验了下几个关于REPLICATION的工具。其他的可以参见手册。先说下我的环境:MASTER:192.168.1.131SLAVE:192.168.1.132,192.168.1.133三台DB都有对外的ALL

我主要体验了下几个关于REPLICATION的工具。 其他的可以参见手册。

先说下我的环境:

MASTER: 192.168.1.131

SLAVE: 192.168.1.132, 192.168.1.133

三台DB都有对外的ALL权限用户。

各个配置文件如下,


[root@mysql56-master home]# cat /etc/my.cnf [mysqld] user = ytt skip-name-resolve innodb_buffer_pool_size = 128M basedir = /usr/local/mysql datadir = /usr/local/mysql/data port = 3306 server_id = 131 socket = /tmp/mysql.sock explicit_defaults_for_timestamp log-bin=mysql56-master-bin binlog-ignore-db=mysql gtid-mode=on enforce-gtid-consistency log-slave-updates binlog-format=ROW sync-master-info=1 report-host=192.168.1.131 report-port=3306 master_info_repository=table relay_log_info_repository=table


其他两台SERVER,除了SERVER-ID,香港服务器租用,都基本相同,我就不贴了。


1. MYSQLREPLICATE 搭建主从的脚本,这里我搭建了两台从机。


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 检查主从的运行情况。


[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. 显示主从的架构。


[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 Graph 192.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. 监视主从健康状态。


[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 Utility Failover Mode = auto Next Interval = Tue May 14 12:27:56 2013 Master Information ------------------ Binary Log File Position Binlog_Do_DB Binlog_Ignore_DB mysql56-master-bin.0 151 mysql GTID Executed Set None Replication 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. 对主从进行管理。