Réplication Mariadb 10.3.27
Bonjour à tous
J'ai mis en place une réplication entre plusieurs serveurs et donc réparti mes différentes bases.
J'ai donc un master avec base1, base2 et base3.
Sur le premier slave, j'ai base1 et base2. La réplication fonctionne très bien.
Sur le second slave, j'ai donc mis base3. Et là, j'ai l'erreur suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| MariaDB [(none)]> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.0.23
Master_User: replica
Master_Port: 3306
Connect_Retry: 10
Master_Log_File: mysql-bin.000310
Read_Master_Log_Pos: 1044134311
Relay_Log_File: mysqld-relay-bin.000002
Relay_Log_Pos: 3511885
Relay_Master_Log_File: mysql-bin.000310
Slave_IO_Running: Yes
Slave_SQL_Running: No
Replicate_Do_DB:
Replicate_Ignore_DB: base1,base2
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 1032
Last_Error: Could not execute Update_rows event on table base3.testor; Can't find record in 'testor', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log mysql-bin.000310, end_log_pos 786074660
Skip_Counter: 1000000
Exec_Master_Log_Pos: 786074133
Relay_Log_Space: 240784999
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: NULL
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 1032
Last_SQL_Error: Could not execute Update_rows event on table base3.testor; Can't find record in 'testor', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log mysql-bin.000310, end_log_pos 786074660
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
Master_SSL_Crl:
Master_SSL_Crlpath:
Using_Gtid: No
Gtid_IO_Pos:
Replicate_Do_Domain_Ids:
Replicate_Ignore_Domain_Ids:
Parallel_Mode: optimistic
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State:
Slave_DDL_Groups: 0
Slave_Non_Transactional_Groups: 0
Slave_Transactional_Groups: 0
1 row in set (0.000 sec)
ERROR: No query specified
MariaDB [(none)]> |
J'ai passé moults fois les commandes : stop slave; set global sql_slave_skip_counter=1; start slave; mais sans réussite.
Le dump que j'ai utilisé pour base3 est de ce matin, comme celui de base1 et base2 que j'ai importé.
J'ai lu qu'il devait y avoir une désynchronisation, mais ca n'expliquerait pas pourquoi base2 qui fait presque la même taille que base3 passe sans souci.
Dans mon fichier /etc/mysql/my.cnf, j'ai les options suivantes :
Code:
1 2 3 4 5 6 7 8 9 10 11
| [mysqld]
server-id = 2
log_bin = /var/log/mysql/mysql-bin.log
skip-log-bin
expire_logs_days = 4
max_binlog_size = 100M
#binlog_do_db = base3
binlog_ignore_db = base1
binlog_ignore_db = base2
slave_parallel_threads=2
slave_parallel_mode=optimistic |
(j'avais avant modif les options
Code:
1 2
| replicate_ignore_db=base1
replicate_ignore_db=base2 |
)
=> quelle est la différence d'ailleurs entre binlog_do_db et replicate_do_db ? Sachant que côté master, j'ai l'option binlog_do_db.
J'ai en plus une centaine de fichier de type mysqld-relay-bin.000***. est-ce dû aux multiples set global sql_slave_skip_counter=1 que j'ai lancé (en mode bourrin via une boucle...)
Je suis vraiment bloqué sur cette base et là, je ne comprends plus rien.
Si quelqu'un a une idée, je suis preneur.
Merci d'avance