Si vous souhaitez revenir à l'ancien :
# Maintenant, nous allons désactiver les GTID
Esclave 192.168.66.7
mysql> set global gtid_mode='on_permissive'; Query OK, 0 rows affected (0.02 sec)
Maître 192.168.66.5
mysql> set global gtid_mode='on_permissive'; Query OK, 0 rows affected (0.02 sec)
Esclave 192.168.66.7
mysql> set global gtid_mode='off_permissive'; Query OK, 0 rows affected (0.01 sec)
Maître 192.168.66.5
mysql> set global gtid_mode='off_permissive'; Query OK, 0 rows affected (0.01 sec)
À ce stade, la réplication s'interrompra côté esclave. nous allons arrêter le salve et changer la position du maître et la mention du fichier journal comme ci-dessous erreur montrée à partir du statut de l'esclave.
Esclave 192.168.66.7
mysql> show slave status\G *************************** 1. row *************************** Last_IO_Errno: 13114 Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Cannot replicate anonymous transaction when AUTO_POSITION = 1, at file ./mysql-bin.000007, position 196.; the first event '' at 4, the last event read from './mysql-bin.000007' at 275, the last byte read from './mysql-bin.000007' at 275.' mysql> stop slave; Query OK, 0 rows affected (0.00 sec) mysql> change master to master_log_file='mysql-bin.000007', master_log_pos=196,master_auto_position=0; Query OK, 0 rows affected (0.02 sec) mysql> start slave; Query OK, 0 rows affected (0.00 sec)
Vérifiez maintenant que la réplication de l'état de l'esclave fonctionnera correctement, mais nous devrons toujours arrêter les GTID.
mysql> show slave status\G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.66.5 Master_User: syncstndby Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000007 Read_Master_Log_Pos: 1070076 Relay_Log_File: serverB-relay-bin.000002 Relay_Log_Pos: 1070204 Relay_Master_Log_File: mysql-bin.000007 Slave_IO_Running: Yes Slave_SQL_Running: Yes . . Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 1070076 Relay_Log_Space: 1070415 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 . . 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: 95358015-b479-11ea-ab4c-080027267f61 Master_Info_File: mysql.slave_master_info SQL_Delay: 0 SQL_Remaining_Delay: NULL Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates Master_Retry_Count: 86400 . . Executed_Gtid_Set: 95358015-b479-11ea-ab4c-080027267f61:1-10110 . . Network_Namespace: 1 row in set (0.00 sec)
mysql> select @@global.gtid_owned; +---------------------+ | @@global.gtid_owned | +---------------------+ | | +---------------------+ 1 row in set (0.00 sec)
Maître 192.168.66.5
mysql> select @@global.gtid_owned; +---------------------+ | @@global.gtid_owned | +---------------------+ | | +---------------------+ 1 row in set (0.00 sec)
Nous allons maintenant désactiver le gtid-mode =off
Esclave 192.168.66.7
mysql> set global gtid_mode=off; Query OK, 0 rows affected (0.01 sec)
Maître 192.168.66.5
mysql> set global gtid_mode=off; Query OK, 0 rows affected (0.01 sec)
Cela arrêtera de changer le GTID après votre retour
Executed_Gtid_Set :95358015-b479-11ea-ab4c-080027267f61:1-10110
Mais Exec_Master_Log_Pos :181924 Relay_Log_Space :182357 continuera à changer, cette sortie peut être observée dans l'état d'affichage de l'esclave.