使用说明 #
MySQL MGR 集群 #
环境要求 #
支持的 MySQL 版本 : 5.7.17 ~ 8.x。
权限要求 #
- 设置
report_host
及report_port
。
MySQL 5.7 my.cnf
示例配置:
[mysqld]
report_host = mysql_1
report_port = 3306
执行以下命令,确认是否设置正确:
SELECT * FROM performance_schema.replication_group_members;
如以下显示,则说明 report_host
和 report_port
设置成功。
+---------------------------+--------------------------------------+-------------+-------------+--------------+
| CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE |
+---------------------------+--------------------------------------+-------------+-------------+--------------+
| group_replication_applier | 7d5a5217-6ba1-11ed-9327-0242ac1e0003 | mysql_1 | 3306 | ONLINE |
| group_replication_applier | 84074902-6ba1-11ed-9309-0242ac1e0004 | mysql_2 | 3306 | ONLINE |
| group_replication_applier | 8b391fb9-6ba1-11ed-9254-0242ac1e0005 | mysql_3 | 3306 | ONLINE |
+---------------------------+--------------------------------------+-------------+-------------+--------------+
- 赋予 MySQL 账号查询系统库相关权限。
使用数据库发现的最小化权限:
grant SELECT ON performance_schema.* to ${username}@${host};
执行以下命令,查看该用户是否具有查询系统权限:
SHOW GRANTS FOR ${username}@${host};
示例结果:
+----------------------------------------------------------------------+
| Grants for ${username}@${host} |
+----------------------------------------------------------------------+
| GRANT SELECT ON `performance_schema`.* TO ${username}@${host} |
+----------------------------------------------------------------------+
1 rows in set (0.01 sec)
MySQL 主从集群 #
环境要求 #
支持的 MySQL 版本 : 5.x ~ 8.x。
权限要求 #
- 设置
report_host
。
MySQL 5.7 my.cnf
示例配置:
[mysqld]
report_host = mysql_1
执行以下命令,确认是否设置正确:
SHOW SLAVE STATUS \G;
如以下显示,则说明 report_host
设置成功:
mysql> SHOW SLAVE STATUS\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 127.0.0.1
Master_User: repl
Master_Port: 3006
Connect_Retry: 60
Master_Log_File: source-bin.000002
Read_Master_Log_Pos: 1307
Relay_Log_File: replica-relay-bin.000003
Relay_Log_Pos: 1508
Relay_Master_Log_File: source-bin.000002
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: 1307
Relay_Log_Space: 1858
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: 1
Master_UUID: 3e11fa47-71ca-11e1-9e33-c80aa9429562
Master_Info_File: /var/mysqld.2/data/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Reading event from the relay log
Master_Retry_Count: 10
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set: 3e11fa47-71ca-11e1-9e33-c80aa9429562:1-5
Executed_Gtid_Set: 3e11fa47-71ca-11e1-9e33-c80aa9429562:1-5
Auto_Position: 1
Replicate_Rewrite_DB:
Channel_name:
Master_TLS_Version: TLSv1.2
- 赋予 MySQL 账号 Replication 相关权限。
使用数据库发现的最小化权限:
grant REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO ${username}@${host};
执行以下命令,查看该用户是否具有查询系统权限:
SHOW GRANTS FOR ${username}@${host};
示例结果:
+--------------------------------------------------------------------------+
| Grants for ${username}@${host} |
+--------------------------------------------------------------------------+
| GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO ${username}@${host}|
+--------------------------------------------------------------------------+
1 rows in set (0.01 sec)