Server IP : 172.67.216.182 / Your IP : 172.71.152.55 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. Create a table on server 1 and replicate # Also add a value in the table without logging to the binlog # [connection server1] CREATE TABLE t1 (a INT PRIMARY KEY); SET SESSION sql_log_bin= 0; INSERT INTO t1 VALUES (1); SET SESSION sql_log_bin= 1; include/rpl_sync.inc # # 2. Restart the applier SQL thread in server 1. # include/gr_stop_applier_sql_thread.inc STOP SLAVE SQL_THREAD FOR CHANNEL "group_replication_applier"; include/gr_start_applier_sql_thread.inc START SLAVE SQL_THREAD FOR CHANNEL "group_replication_applier"; # # 3. Insert a value on server 2 that will clash with data on server1 # [connection server2] INSERT INTO t1 VALUES (1); # # 4. Check that server1 applier fails and the plugin goes to error mode. # [connection server1] # Expect ERROR state. include/gr_wait_for_member_state.inc include/rpl_gr_wait_for_number_of_members.inc [connection server2] # Wait for one member on server 2 include/rpl_gr_wait_for_number_of_members.inc # # 5. Remove the value, restart the plugin and do a cleanup # [connection server1] include/stop_group_replication.inc SET SESSION sql_log_bin= 0; DELETE FROM t1 WHERE a=1; SET SESSION sql_log_bin= 1; include/start_group_replication.inc DROP TABLE t1; SET SESSION sql_log_bin= 0; call mtr.add_suppression("Slave SQL for channel 'group_replication_applier': Could not execute Write_rows event on table test.t1*.*"); call mtr.add_suppression("The applier thread execution was aborted. Unable to process more transactions, this member will now leave the group."); call mtr.add_suppression("Fatal error during execution on the Applier process of Group Replication. The server will now leave the group."); call mtr.add_suppression("The server was automatically set into read only mode after an error was detected."); call mtr.add_suppression("Slave SQL for channel 'group_replication_applier': Worker .* failed executing transaction .*"); call mtr.add_suppression("Slave SQL for channel 'group_replication_applier': ... The slave coordinator and worker threads are stopped,.*"); SET SESSION sql_log_bin= 1; include/group_replication_end.inc