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.

  • Quanto spazio disco rigido per installare MYSQL, PHP7 e nginx?
  • Errore durante il collegamento a server MySQL remoto
  • Come posso testare la sicurezza del mio server?
  • Postfix, SASL, MySQL Issues
  • Qual è l'utente di rdsadmin e mi interessa?
  • Slave Mysql bloccato in "Blocco del sistema"
  • 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' 

  • MySQL ha riempito tutte le RAM sul sistema
  • Memorizzare la password del client MySQL o impostare la password di authentication
  • Modificare l'indirizzo di bind mysql all'interno di uno script
  • Scarsa performance su istanza Amazon RDS
  • Come faccio a mirrorare un database MySQL su richiesta?
  • MyTop non visualizza le query eseguite
  • 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.