Riavvia la replica mysql dopo sql_error

Ho due server mysql, un master e uno slave.

Qualcuno è andato allo schiavo e ha creato un tavolo, poi ha seguito il maestro e ha creato lo stesso tavolo. Naturalmente questa istruzione DDL è stata replicata allo slave, causando un errore, causando la replica alla fine dell'errore.

  • Alter charset e collation in tutte le colonne in tutte le tabelle in MySQL
  • Il server Mysql non verrà avviato - nessun registro
  • Come posso impostare la protezione per il database contro l'iniezione SQL quando tutti gli script php sono difettosi?
  • SELinux: Permettere Apache a parlare con MySQL su CentOS
  • Backup di un database MySQL tramite istantanee ZFS
  • MySQL non leggono i simboli per i file delle opzioni my.cnf
  • Come riesco a riavviare il process di replica dopo aver abbandonato la tabella sullo slave o avviando la replica dopo quella dichiarazione?

    mostra lo stato dello slave:

    mysql> show slave status \G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: xx.xx.xx.xx Master_User: buildbot Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.024536 Read_Master_Log_Pos: 33489509 Relay_Log_File: mysqld-relay-bin.049047 Relay_Log_Pos: 32575097 Relay_Master_Log_File: mysql-bin.024476 Slave_IO_Running: Yes Slave_SQL_Running: No Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 1050 Last_Error: Error 'Table 'checklist' already exists' on query. Default database: 'dbname'. Query: 'CREATE TABLE `checklist` ( `checklist_id` int(11) NOT NULL AUTO_INCREMENT, `description` varchar(768) NOT NULL, `url` varchar(512) NOT NULL, `active` bit(1) NOT NULL, `insert_date` datetime NOT NULL, `xcred` int(11) NOT NULL, PRIMARY KEY (`checklist_id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1' Skip_Counter: 0 Exec_Master_Log_Pos: 32574952 Relay_Log_Space: 6766519525 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: 2013 Last_IO_Error: error reconnecting to master 'user@xx.xx.xx.xx:3306' - retry-time: 60 retries: 86400 Last_SQL_Errno: 1050 Last_SQL_Error: Error 'Table 'checklist' already exists' on query. Default database: 'dbname'. Query: 'CREATE TABLE `checklist` ( `checklist_id` int(11) NOT NULL AUTO_INCREMENT, `description` varchar(768) NOT NULL, `url` varchar(512) NOT NULL, `active` bit(1) NOT NULL, `insert_date` datetime NOT NULL, `xcred` int(11) NOT NULL, PRIMARY KEY (`checklist_id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1' 

  • 16 cores 12 GB RAM Dedicato MySql Configuration
  • Come redirect gli utenti a diversi server in base alla loro posizione?
  • Qual è la mia password di root MySQL?
  • Come evitare VMware stordimento di un client durante l'imaging con Veeam
  • Come esportre un DB MySQL in database MSSQL?
  • mysqldump per server sql
  • 2 Solutions collect form web for “Riavvia la replica mysql dopo sql_error”

    È ansible utilizzare i seguenti comandi (su mysql prompt):

     mysql> STOP SLAVE; mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; mysql> START SLAVE; mysql> SHOW SLAVE STATUS; 

    Il valore 1 rappresenta il numero di istruzioni da saltare. È ansible farlo ripetutamente fino a quando la replica non viene risolta. Puoi vedere questa pagina .

    Non lo fai. In modo efficace, è necessario impostare la replica di nuovo da zero come hai fatto la prima volta, perché se si salta solo le dichiarazioni, si potrebbe perdere l'integrità. Per essere al sicuro, devi replicare da un punto di partenza sicuro.

    • Bloccare il master
    • Dump i dati utilizzando –master-data e notando le coordinate binlog (ad es. Mostrare lo stato master)
    • Sbloccare il master
    • Caricare il dump nello slave
    • Avviare lo slapping usando 'change master' e le coordinate binlog che hai registrato in precedenza
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.