暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

基于MySQL 8.0搭建MGR

原创 搬砖工人 2023-05-26
1047

基于MySQL 8.0搭建MGR
一、环境说明
说明:
1)主机规划(IP+主机名):
192.168.31.132 node02
192.168.31.133 node03
192.168.31.134 node04

2)软件版本
操作系统版本:CentOS 7.9
MySQL Server版本:8.0.32
MySQL Server安装目录:/usr/local
MySQL Data目录:/data/mysql/3307/data

3)下载对应的软件包
cd /usr/local
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.32-linux-glibc2.12-x86_64.tar

4)关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service

二、初始化实例(三个实例都操作)
1、准备安装包
cd /usr/local
tar xvf mysql-8.0.32-linux-glibc2.12-x86_64.tar
tar xvf mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
ln -s mysql-8.0.32-linux-glibc2.12-x86_64 mysql
export PATH=$PATH:/usr/local/mysql/bin

2、编辑配置文件
[root@node02 ~]# cat /etc/my3307.cnf
[client]
socket =/data/mysql/3307/data/mysql.sock

[mysqld]
user =mysql
datadir =/data/mysql/3307/data
basedir =/usr/local/mysql
port =3307
socket =/data/mysql/3307/data/mysql.sock
log_timestamps =system
log_error =/data/mysql/3307/data/mysqld.err
skip_name_resolve
report_host =192.168.31.132
report_port =3307
disabled_storage_engines =MyISAM,BLACKHOLE,FEDERATED,MEMORY
sql_require_primary_key =ON

#Replication
server_id =1323307
log_bin =mysql-bin
binlog_format =ROW
gtid_mode =ON
enforce_gtid_consistency =ON
log_slave_updates =ON
master_info_repository =TABLE
relay_log_info_repository =TABLE
binlog_transaction_dependency_tracking =WRITESET
super_read_only =ON

#Multi-thread Settings
transaction_write_set_extraction =XXHASH64
replica_parallel_type =LOGICAL_CLOCK
replica_parallel_workers =4
replica_preserve_commit_order =ON

#group replication settings
plugin_load_add =group_replication.so
loose_group_replication_group_name =“aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa”
loose_group_replication_start_on_boot =OFF
loose_group_replication_local_address =192.168.31.132:33071
loose_group_replication_group_seeds =192.168.31.132:33071,192.168.31.133:33071,192.168.31.134:33071
loose_group_replication_bootstrap_group =OFF
loose_group_replication_recovery_get_public_key =ON

节点2修改参数:
report_host =192.168.31.133
server_id =1333307
loose_group_replication_local_address =192.168.31.133:33071

节点3修改参数:
report_host =192.168.31.134
server_id =1343307
loose_group_replication_local_address =192.168.31.134:33071

3、创建数据目录
mkdir -p /data/mysql/3307/data
chown -R mysql:mysql /data/mysql/3307

4、初始化实例
/usr/local/mysql/bin/mysqld --defaults-file=/etc/my3307.cnf --initialize-insecure

5、启动实例
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my3307.cnf &

netstat -ntlup|grep mysql

三、启动组复制
1、查看插件是否加载成功
mysql -uroot -p -S /data/mysql/3307/data/mysql.sock
show plugins;
| group_replication | ACTIVE | GROUP REPLICATION | group_replication.so | GPL |

2、初始化组复制
–节点1操作
set global group_replication_bootstrap_group=on;
start group_replication;
set global group_replication_bootstrap_group=off;

select member_id,member_host,member_port,member_state,member_role from performance_schema.replication_group_members;

3、创建复制用户
–节点1操作
create user ‘repl’@’%’ identified by ‘repl’;
grant replication slave,backup_admin on *.* to ‘repl’@’%’;
flush privileges;

4、配置复制通道
命令:change master to master_user=‘repl’,master_password=‘repl’ for channel ‘group_replication_recovery’;

mysql> select member_id,member_host,member_port,member_state,member_role from performance_schema.replication_group_members;
±-------------------------------------±---------------±------------±-------------±------------+
| member_id | member_host | member_port | member_state | member_role |
±-------------------------------------±---------------±------------±-------------±------------+
| 5c5d59e1-fb78-11ed-90d6-000c291d88ed | 192.168.31.132 | 3307 | ONLINE | PRIMARY |
±-------------------------------------±---------------±------------±-------------±------------+
1 row in set (0.00 sec)

四、添加节点
只需两步:配置恢复通道、启动组复制
–在节点2和节点3上分别执行
mysql -uroot -p -S /data/mysql/3307/data/mysql.sock
change master to master_user=‘repl’,master_password=‘repl’ for channel ‘group_replication_recovery’;
start group_replication;

mysql> select member_id,member_host,member_port,member_state,member_role from performance_schema.replication_group_members;
±-------------------------------------±---------------±------------±-------------±------------+
| member_id | member_host | member_port | member_state | member_role |
±-------------------------------------±---------------±------------±-------------±------------+
| 5c4f62a0-fb78-11ed-92cc-000c2937624d | 192.168.31.134 | 3307 | ONLINE | SECONDARY |
| 5c5d59e1-fb78-11ed-90d6-000c291d88ed | 192.168.31.132 | 3307 | ONLINE | PRIMARY |
| 5c5fe386-fb78-11ed-9251-000c2984921e | 192.168.31.133 | 3307 | ONLINE | SECONDARY |
±-------------------------------------±---------------±------------±-------------±------------+
3 rows in set (0.00 sec)

五、主节点写入数据,其他节点查看数据是否同步
create database mgr;
use mgr;
create table t1(c1 int unsigned not null primary key);
insert into t1 select rand()*10240;
select * from t1;

mysql> select * from t1;
±-----+
| c1 |
±-----+
| 4585 |
±-----+
1 row in set (0.00 sec)

–至此MGR搭建完成。

六、单主和多主模式切换
–查看状态
select member_id,member_host,member_port,member_state,member_role from performance_schema.replication_group_members;
±-------------------------------------±---------------±------------±-------------±------------+
| member_id | member_host | member_port | member_state | member_role |
±-------------------------------------±---------------±------------±-------------±------------+
| 5c4f62a0-fb78-11ed-92cc-000c2937624d | 192.168.31.134 | 3307 | ONLINE | SECONDARY |
| 5c5d59e1-fb78-11ed-90d6-000c291d88ed | 192.168.31.132 | 3307 | ONLINE | PRIMARY |
| 5c5fe386-fb78-11ed-9251-000c2984921e | 192.168.31.133 | 3307 | ONLINE | SECONDARY |
±-------------------------------------±---------------±------------±-------------±------------+
3 rows in set (0.00 sec)

–单主切多主
mysql> select group_replication_switch_to_multi_primary_mode();
±-------------------------------------------------+
| group_replication_switch_to_multi_primary_mode() |
±-------------------------------------------------+
| Mode switched to multi-primary successfully. |
±-------------------------------------------------+
1 row in set (0.02 sec)

mysql> select member_id,member_host,member_port,member_state,member_role from performance_schema.replication_group_members;
±-------------------------------------±---------------±------------±-------------±------------+
| member_id | member_host | member_port | member_state | member_role |
±-------------------------------------±---------------±------------±-------------±------------+
| 5c4f62a0-fb78-11ed-92cc-000c2937624d | 192.168.31.134 | 3307 | ONLINE | PRIMARY |
| 5c5d59e1-fb78-11ed-90d6-000c291d88ed | 192.168.31.132 | 3307 | ONLINE | PRIMARY |
| 5c5fe386-fb78-11ed-9251-000c2984921e | 192.168.31.133 | 3307 | ONLINE | PRIMARY |
±-------------------------------------±---------------±------------±-------------±------------+
3 rows in set (0.00 sec)

–多主切单主
命令:select group_replication_switch_to_single_primary_mode(member_uuid);

mysql> select group_replication_switch_to_single_primary_mode(‘5c5d59e1-fb78-11ed-90d6-000c291d88ed’);
±----------------------------------------------------------------------------------------+
| group_replication_switch_to_single_primary_mode(‘5c5d59e1-fb78-11ed-90d6-000c291d88ed’) |
±----------------------------------------------------------------------------------------+
| Mode switched to single-primary successfully. |
±----------------------------------------------------------------------------------------+
1 row in set (0.05 sec)

mysql> select member_id,member_host,member_port,member_state,member_role from performance_schema.replication_group_members;
±-------------------------------------±---------------±------------±-------------±------------+
| member_id | member_host | member_port | member_state | member_role |
±-------------------------------------±---------------±------------±-------------±------------+
| 5c4f62a0-fb78-11ed-92cc-000c2937624d | 192.168.31.134 | 3307 | ONLINE | SECONDARY |
| 5c5d59e1-fb78-11ed-90d6-000c291d88ed | 192.168.31.132 | 3307 | ONLINE | PRIMARY |
| 5c5fe386-fb78-11ed-9251-000c2984921e | 192.168.31.133 | 3307 | ONLINE | SECONDARY |
±-------------------------------------±---------------±------------±-------------±------------+
3 rows in set (0.00 sec)

–查看切换进度
select event_name,work_completed,work_estimated from performance_schema.events_stages_current where event_name like ‘%stage/group_rpl%’\G;

七、监控组复制
监控主要基于performance_schema中的6张表实现:
replication_group_members
replication_group_member_stats
replication_connection_status
replication_applier_status
replication_applier_status_by_coordinator
replication_applier_status_by_worker

mysql> select * from performance_schema.replication_group_members;
±--------------------------±-------------------------------------±---------------±------------±-------------±------------±---------------±---------------------------+
| CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION | MEMBER_COMMUNICATION_STACK |
±--------------------------±-------------------------------------±---------------±------------±-------------±------------±---------------±---------------------------+
| group_replication_applier | 5c4f62a0-fb78-11ed-92cc-000c2937624d | 192.168.31.134 | 3307 | ONLINE | SECONDARY | 8.0.32 | XCom |
| group_replication_applier | 5c5d59e1-fb78-11ed-90d6-000c291d88ed | 192.168.31.132 | 3307 | ONLINE | PRIMARY | 8.0.32 | XCom |
| group_replication_applier | 5c5fe386-fb78-11ed-9251-000c2984921e | 192.168.31.133 | 3307 | ONLINE | SECONDARY | 8.0.32 | XCom |
±--------------------------±-------------------------------------±---------------±------------±-------------±------------±---------------±---------------------------+
3 rows in set (0.00 sec)

mysql> select * from performance_schema.replication_group_member_stats\G;
*************************** 1. row ***************************
CHANNEL_NAME: group_replication_applier
VIEW_ID: 16850735028509484:3
MEMBER_ID: 5c4f62a0-fb78-11ed-92cc-000c2937624d
COUNT_TRANSACTIONS_IN_QUEUE: 0
COUNT_TRANSACTIONS_CHECKED: 3
COUNT_CONFLICTS_DETECTED: 0
COUNT_TRANSACTIONS_ROWS_VALIDATING: 1
TRANSACTIONS_COMMITTED_ALL_MEMBERS: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:1-9
LAST_CONFLICT_FREE_TRANSACTION: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:9
COUNT_TRANSACTIONS_REMOTE_IN_APPLIER_QUEUE: 0
COUNT_TRANSACTIONS_REMOTE_APPLIED: 3
COUNT_TRANSACTIONS_LOCAL_PROPOSED: 0
COUNT_TRANSACTIONS_LOCAL_ROLLBACK: 0
*************************** 2. row ***************************
CHANNEL_NAME: group_replication_applier
VIEW_ID: 16850735028509484:3
MEMBER_ID: 5c5d59e1-fb78-11ed-90d6-000c291d88ed
COUNT_TRANSACTIONS_IN_QUEUE: 0
COUNT_TRANSACTIONS_CHECKED: 6
COUNT_CONFLICTS_DETECTED: 0
COUNT_TRANSACTIONS_ROWS_VALIDATING: 1
TRANSACTIONS_COMMITTED_ALL_MEMBERS: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:1-9
LAST_CONFLICT_FREE_TRANSACTION: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:9
COUNT_TRANSACTIONS_REMOTE_IN_APPLIER_QUEUE: 0
COUNT_TRANSACTIONS_REMOTE_APPLIED: 3
COUNT_TRANSACTIONS_LOCAL_PROPOSED: 6
COUNT_TRANSACTIONS_LOCAL_ROLLBACK: 0
*************************** 3. row ***************************
CHANNEL_NAME: group_replication_applier
VIEW_ID: 16850735028509484:3
MEMBER_ID: 5c5fe386-fb78-11ed-9251-000c2984921e
COUNT_TRANSACTIONS_IN_QUEUE: 0
COUNT_TRANSACTIONS_CHECKED: 3
COUNT_CONFLICTS_DETECTED: 0
COUNT_TRANSACTIONS_ROWS_VALIDATING: 1
TRANSACTIONS_COMMITTED_ALL_MEMBERS: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:1-9
LAST_CONFLICT_FREE_TRANSACTION: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:9
COUNT_TRANSACTIONS_REMOTE_IN_APPLIER_QUEUE: 0
COUNT_TRANSACTIONS_REMOTE_APPLIED: 4
COUNT_TRANSACTIONS_LOCAL_PROPOSED: 0
COUNT_TRANSACTIONS_LOCAL_ROLLBACK: 0
3 rows in set (0.00 sec)

ERROR:
No query specified

mysql> select * from performance_schema.replication_connection_status\G;
*************************** 1. row ***************************
CHANNEL_NAME: group_replication_applier
GROUP_NAME: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
SOURCE_UUID: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
THREAD_ID: NULL
SERVICE_STATE: ON
COUNT_RECEIVED_HEARTBEATS: 0
LAST_HEARTBEAT_TIMESTAMP: 0000-00-00 00:00:00.000000
RECEIVED_TRANSACTION_SET: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:1-9
LAST_ERROR_NUMBER: 0
LAST_ERROR_MESSAGE:
LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_QUEUED_TRANSACTION: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:6
LAST_QUEUED_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP: 2023-05-26 12:00:43.969888
LAST_QUEUED_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP: 2023-05-26 12:00:43.969888
LAST_QUEUED_TRANSACTION_START_QUEUE_TIMESTAMP: 2023-05-26 12:00:43.969961
LAST_QUEUED_TRANSACTION_END_QUEUE_TIMESTAMP: 2023-05-26 12:00:43.969997
QUEUEING_TRANSACTION:
QUEUEING_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
QUEUEING_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
QUEUEING_TRANSACTION_START_QUEUE_TIMESTAMP: 0000-00-00 00:00:00.000000
1 row in set (0.00 sec)

ERROR:
No query specified

mysql> select * from performance_schema.replication_applier_status;
±--------------------------±--------------±----------------±---------------------------+
| CHANNEL_NAME | SERVICE_STATE | REMAINING_DELAY | COUNT_TRANSACTIONS_RETRIES |
±--------------------------±--------------±----------------±---------------------------+
| group_replication_applier | ON | NULL | 0 |
±--------------------------±--------------±----------------±---------------------------+
1 row in set (0.00 sec)

mysql> select * from performance_schema.replication_applier_status_by_coordinator\G;
*************************** 1. row ***************************
CHANNEL_NAME: group_replication_applier
THREAD_ID: 56
SERVICE_STATE: ON
LAST_ERROR_NUMBER: 0
LAST_ERROR_MESSAGE:
LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_PROCESSED_TRANSACTION: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:6
LAST_PROCESSED_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP: 2023-05-26 12:00:43.969888
LAST_PROCESSED_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP: 2023-05-26 12:00:43.969888
LAST_PROCESSED_TRANSACTION_START_BUFFER_TIMESTAMP: 2023-05-26 12:00:43.970234
LAST_PROCESSED_TRANSACTION_END_BUFFER_TIMESTAMP: 2023-05-26 12:00:43.970296
PROCESSING_TRANSACTION:
PROCESSING_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
PROCESSING_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
PROCESSING_TRANSACTION_START_BUFFER_TIMESTAMP: 0000-00-00 00:00:00.000000
1 row in set (0.00 sec)

ERROR:
No query specified

mysql> select * from performance_schema.replication_applier_status_by_worker\G;
*************************** 1. row ***************************
CHANNEL_NAME: group_replication_applier
WORKER_ID: 1
THREAD_ID: 57
SERVICE_STATE: ON
LAST_ERROR_NUMBER: 0
LAST_ERROR_MESSAGE:
LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_APPLIED_TRANSACTION: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:6
LAST_APPLIED_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP: 2023-05-26 12:00:43.969888
LAST_APPLIED_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP: 2023-05-26 12:00:43.969888
LAST_APPLIED_TRANSACTION_START_APPLY_TIMESTAMP: 2023-05-26 12:00:43.970388
LAST_APPLIED_TRANSACTION_END_APPLY_TIMESTAMP: 2023-05-26 12:00:43.972022
APPLYING_TRANSACTION:
APPLYING_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION_START_APPLY_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_APPLIED_TRANSACTION_RETRIES_COUNT: 0
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBER: 0
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAGE:
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION_RETRIES_COUNT: 0
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBER: 0
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAGE:
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
*************************** 2. row ***************************
CHANNEL_NAME: group_replication_applier
WORKER_ID: 2
THREAD_ID: 58
SERVICE_STATE: ON
LAST_ERROR_NUMBER: 0
LAST_ERROR_MESSAGE:
LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_APPLIED_TRANSACTION:
LAST_APPLIED_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_APPLIED_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_APPLIED_TRANSACTION_START_APPLY_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_APPLIED_TRANSACTION_END_APPLY_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION:
APPLYING_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION_START_APPLY_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_APPLIED_TRANSACTION_RETRIES_COUNT: 0
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBER: 0
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAGE:
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION_RETRIES_COUNT: 0
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBER: 0
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAGE:
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
*************************** 3. row ***************************
CHANNEL_NAME: group_replication_applier
WORKER_ID: 3
THREAD_ID: 59
SERVICE_STATE: ON
LAST_ERROR_NUMBER: 0
LAST_ERROR_MESSAGE:
LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_APPLIED_TRANSACTION:
LAST_APPLIED_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_APPLIED_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_APPLIED_TRANSACTION_START_APPLY_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_APPLIED_TRANSACTION_END_APPLY_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION:
APPLYING_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION_START_APPLY_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_APPLIED_TRANSACTION_RETRIES_COUNT: 0
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBER: 0
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAGE:
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION_RETRIES_COUNT: 0
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBER: 0
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAGE:
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
*************************** 4. row ***************************
CHANNEL_NAME: group_replication_applier
WORKER_ID: 4
THREAD_ID: 60
SERVICE_STATE: ON
LAST_ERROR_NUMBER: 0
LAST_ERROR_MESSAGE:
LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_APPLIED_TRANSACTION:
LAST_APPLIED_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_APPLIED_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_APPLIED_TRANSACTION_START_APPLY_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_APPLIED_TRANSACTION_END_APPLY_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION:
APPLYING_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION_START_APPLY_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_APPLIED_TRANSACTION_RETRIES_COUNT: 0
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBER: 0
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAGE:
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION_RETRIES_COUNT: 0
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBER: 0
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAGE:
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
4 rows in set (0.00 sec)

ERROR:
No query specified

八、监控MGR使用
1、查看secondary节点延迟情况
select case when min_commit_timstamp is null then 0
else unix_timestamp(now(6))-unix_timestamp(min_commit_timstamp)
end as seconds_behind_master
from (
select min(applying_transaction_original_commit_timestamp) as min_commit_timstamp
from performance_schema.replication_applier_status_by_worker
where applying_transaction<>’’) t;
±----------------------+
| seconds_behind_master |
±----------------------+
| 0 |
±----------------------+
1 row in set (0.00 sec)

2、查看组复制的内存使用
–8.0.30开始
select name,enabled from performance_schema.setup_instruments where name like ‘memory/group_rpl%’;
±------------------------------------------------------------------±--------+
| name | enabled |
±------------------------------------------------------------------±--------+
| memory/group_rpl/write_set_encoded | YES |
| memory/group_rpl/certification_data | YES |
| memory/group_rpl/certification_data_gc | YES |
| memory/group_rpl/certification_info | YES |
| memory/group_rpl/transaction_data | YES |
| memory/group_rpl/sql_service_command_data | YES |
| memory/group_rpl/mysql_thread_queued_task | YES |
| memory/group_rpl/message_service_queue | YES |
| memory/group_rpl/message_service_received_message | YES |
| memory/group_rpl/group_member_info | YES |
| memory/group_rpl/consistent_members_that_must_prepare_transaction | YES |
| memory/group_rpl/consistent_transactions | YES |
| memory/group_rpl/consistent_transactions_prepared | YES |
| memory/group_rpl/consistent_transactions_waiting | YES |
| memory/group_rpl/consistent_transactions_delayed_view_change | YES |
| memory/group_rpl/GCS_XCom::xcom_cache | YES |
| memory/group_rpl/Gcs_message_data::m_buffer | YES |
±------------------------------------------------------------------±--------+
17 rows in set (0.00 sec)

查看MGR使用的总内存
select * from (
select (case when event_name like ‘memory/group_rpl/%’ then ‘memory/group_rpl/memory_gr’ else ‘memory_gr_rest’ end ) as event_name,
sum(count_alloc),
sum(count_free),
sum(sum_number_of_bytes_alloc),
sum(sum_number_of_bytes_free),
sum(low_count_used),
sum(current_count_used),
sum(high_count_used),
sum(low_number_of_bytes_used),
sum(current_number_of_bytes_used),
sum(high_number_of_bytes_used)
from performance_schema.memory_summary_global_by_event_name
group by (case when event_name like ‘memory/group_rpl/%’ then ‘memory/group_rpl/memory_gr’ else ‘memory_gr_rest’ end)
) f
where f.event_name !=‘memory_gr_rest’\G;
*************************** 1. row ***************************
event_name: memory/group_rpl/memory_gr
sum(count_alloc): 20599
sum(count_free): 10361
sum(sum_number_of_bytes_alloc): 7079097
sum(sum_number_of_bytes_free): 2093942
sum(low_count_used): 0
sum(current_count_used): 10238
sum(high_count_used): 10268
sum(low_number_of_bytes_used): 0
sum(current_number_of_bytes_used): 4985155
sum(high_number_of_bytes_used): 4991899
1 row in set (0.00 sec)

ERROR:
No query specified

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论