Server IP : 104.21.38.3 / Your IP : 162.158.170.90 Web Server : Apache System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /www/server/mysql/mysql-test/suite/group_replication/r/ |
Upload File : |
include/group_replication.inc Warnings: Note #### Sending passwords in plain text without SSL/TLS is extremely insecure. Note #### Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information. [connection server1] ############################################################ # 1. Deploy a group on server1. [connection server1] SET SESSION sql_log_bin = 0; call mtr.add_suppression("Run function 'before_commit' in plugin 'group_replication' failed"); call mtr.add_suppression("Slave SQL for channel 'ch1': Worker 1 failed executing transaction.*"); call mtr.add_suppression("Slave SQL for channel 'ch1': ... The slave coordinator and worker threads are stopped.*"); call mtr.add_suppression("Slave SQL for channel 'ch1': Error 'Error on observer while running replication hook 'before_commit'.'.*"); call mtr.add_suppression("Slave SQL for channel 'ch1': Error in Xid_log_event: Commit could not be completed, 'Error on observer while running replication hook 'before_commit'.', Error_code: 3100"); call mtr.add_suppression("Slave: Error on observer while running replication hook 'before_commit'. Error_code: 3100"); SET SESSION sql_log_bin = 1; include/start_and_bootstrap_group_replication.inc ############################################################ # 2. Configure a channel on server1 that replicates from # server2. [connection server1] CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_USER='root', MASTER_PORT=SERVER_2_PORT, MASTER_AUTO_POSITION=1 FOR CHANNEL 'ch1'; Warnings: Note 1759 Sending passwords in plain text without SSL/TLS is extremely insecure. Note 1760 Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information. include/start_slave.inc [connection server2] CREATE TABLE t1 (c1 INT NOT NULL PRIMARY KEY); include/sync_slave_sql_with_master.inc ############################################################ # 3. Stop group on server1, through debug sync block the stop # after acquiring `shared_plugin_stop` lock. [connection server_1] SET @@GLOBAL.DEBUG= '+d,group_replication_hold_stop_before_leave_the_group'; STOP GROUP_REPLICATION; [connection server1] SET DEBUG_SYNC='now wait_for signal.stopping_before_leave_the_group'; ############################################################ # 4. Commit a transaction on server2 which will be replicated # to server1 through channel 'ch1'. # Channel 'ch1' will fail since the plugin is stopping. [connection server2] INSERT INTO t1 VALUES (1); [connection server1] include/wait_for_slave_sql_error.inc [errno=3100] ############################################################ # 5. Resume STOP GROUP_REPLICATION on server1. [connection server1] SET @@GLOBAL.DEBUG= '-d,group_replication_hold_stop_before_leave_the_group'; SET DEBUG_SYNC='now signal signal.resume_stop_before_leave_the_group'; [connection server_1] [connection server1] include/gr_wait_for_member_state.inc SET DEBUG_SYNC= 'RESET'; include/assert.inc ['There are no rows on table t1 on server1'] ############################################################ # 6. Clean up. [connection server1] SET @@GLOBAL.super_read_only = 0; DROP TABLE t1; RESET SLAVE ALL FOR CHANNEL 'ch1'; [connection server2] DROP TABLE t1; include/group_replication_end.inc