欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql 主從復(fù)制如何跳過報(bào)錯(cuò)

 更新時(shí)間:2020年10月23日 10:19:50   作者:星火燎愿  
這篇文章主要介紹了mysql 主從復(fù)制如何跳過報(bào)錯(cuò),幫助大家更好的理解和使用MySQL 數(shù)據(jù)庫,感興趣的朋友可以了解下

一、傳統(tǒng)binlog主從復(fù)制,跳過報(bào)錯(cuò)方法

mysql> stop slave;
mysql> set global sql_slave_skip_counter = 1;
mysql> start slave;
mysql> show slave status \G

二、GTID主從復(fù)制,跳過報(bào)錯(cuò)方法

mysql> stop slave; #先關(guān)閉slave復(fù)制;
mysql> change master to ...省略... #配置主從復(fù)制;
mysql> show slave status\G #查看主從狀態(tài);

發(fā)現(xiàn)報(bào)錯(cuò):

mysql> show slave status\G
*************************** 1. row ***************************
        Slave_IO_State: Waiting for master to send event
         Master_Host: 172.19.195.212
         Master_User: master-slave
         Master_Port: 3306
        Connect_Retry: 60
       Master_Log_File: mysql-bin.000021
     Read_Master_Log_Pos: 194
        Relay_Log_File: nginx-003-relay-bin.000048
        Relay_Log_Pos: 454
    Relay_Master_Log_File: mysql-bin.000016
       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: 1007
          Last_Error: Error 'Can't create database 'code'; database exists' on query. Default database: 'code'. Query: 'create database code'
         Skip_Counter: 0
     Exec_Master_Log_Pos: 8769118
       Relay_Log_Space: 3500
       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: 1007
        Last_SQL_Error: Error 'Can't create database 'code'; database exists' on query. Default database: 'code'. Query: 'create database code'
 Replicate_Ignore_Server_Ids: 
       Master_Server_Id: 100
         Master_UUID: fea89052-11ef-11eb-b241-00163e00a190
       Master_Info_File: /usr/local/mysql/data/master.info
          SQL_Delay: 0
     SQL_Remaining_Delay: NULL
   Slave_SQL_Running_State: 
      Master_Retry_Count: 86400
         Master_Bind: 
   Last_IO_Error_Timestamp: 
   Last_SQL_Error_Timestamp: 201022 09:31:29
        Master_SSL_Crl: 
      Master_SSL_Crlpath: 
      Retrieved_Gtid_Set: fea89052-11ef-11eb-b241-00163e00a190:8-5617
      Executed_Gtid_Set: a56c9b04-11f1-11eb-a855-00163e128853:1-11224,
fea89052-11ef-11eb-b241-00163e00a190:1-5614
        Auto_Position: 1
     Replicate_Rewrite_DB: 
         Channel_Name: 
      Master_TLS_Version: 
1 row in set (0.01 sec)

可以看到 Slave_SQL_Running 為 NO,表示運(yùn)行取回的二進(jìn)制日志出了問題;
在 Last_Error 中也可以看到大概的報(bào)錯(cuò);(因?yàn)槲抑暗牟僮?,大概可以判斷?是因?yàn)橹鲙斓亩M(jìn)制日志中有創(chuàng)建code庫的sql,而從庫上我已經(jīng)創(chuàng)建了這個(gè)庫,應(yīng)該是產(chǎn)生了沖突;)

解決方法:

1、如果清楚自己之前的操作,可以將從庫中產(chǎn)生沖突的庫刪除;
2、或者通過跳過GTID報(bào)錯(cuò)的事務(wù)的方法

--- 通過 Last_SQL_Errno 報(bào)錯(cuò)編號查詢具體的報(bào)錯(cuò)事務(wù)
mysql> select * from performance_schema.replication_applier_status_by_worker where LAST_ERROR_NUMBER=1007\G
*************************** 1. row ***************************
     CHANNEL_NAME: 
      WORKER_ID: 0
      THREAD_ID: NULL
    SERVICE_STATE: OFF
LAST_SEEN_TRANSACTION: fea89052-11ef-11eb-b241-00163e00a190:5615
  LAST_ERROR_NUMBER: 1007
  LAST_ERROR_MESSAGE: Error 'Can't create database 'code'; database exists' on query. Default database: 'code'. Query: 'create database code'
 LAST_ERROR_TIMESTAMP: 2020-10-22 09:31:29
1 row in set (0.00 sec)

mysql> stop slave;
Query OK, 0 rows affected (0.00 sec)

--- 跳過查找到報(bào)錯(cuò)的事務(wù)(LAST_SEEN_TRANSACTION 的值)
mysql> set @@session.gtid_next='fea89052-11ef-11eb-b241-00163e00a190:5615';
Query OK, 0 rows affected (0.00 sec)

mysql> begin;
Query OK, 0 rows affected (0.00 sec)

--- 提交一個(gè)空的事務(wù),因?yàn)樵O(shè)置gtid_next后,gtid的生命周期開始了,必須通過顯性的提交一個(gè)事務(wù)來結(jié)束;
mysql> commit;
Query OK, 0 rows affected (0.00 sec)

--- 設(shè)置回自動(dòng)模式;
mysql> set @@session.gtid_next=automatic;
Query OK, 0 rows affected (0.00 sec)

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

通過以上步驟,就跳過了這次的GTID報(bào)錯(cuò)的事務(wù),如果 start slave 之后還是有報(bào)錯(cuò),那么就按照此步驟繼續(xù)跳過;

經(jīng)驗(yàn)豐富的話,基本不用查詢事務(wù),通過 Executed_Gtid_Set 就可以判斷出報(bào)錯(cuò)的事務(wù)是 fea89052-11ef-11eb-b241-00163e00a190:5615 了;因?yàn)閳?zhí)行事務(wù),到 fea89052-11ef-11eb-b241-00163e00a190:1-5614 的時(shí)候報(bào)錯(cuò)了,應(yīng)該可以判斷是 5615事務(wù)出現(xiàn)的錯(cuò)誤;

以上就是mysql 主從復(fù)制如何跳過報(bào)錯(cuò)的詳細(xì)內(nèi)容,更多關(guān)于MySQL 跳過報(bào)錯(cuò)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 理解MySQL變量和條件

    理解MySQL變量和條件

    這篇文章主要幫助大家深入理解MySQL變量和條件,感興趣的小伙伴們可以參考一下
    2016-03-03
  • MySQL8.0.27安裝過程中卡在Initializing?Database中并報(bào)錯(cuò)的解決

    MySQL8.0.27安裝過程中卡在Initializing?Database中并報(bào)錯(cuò)的解決

    本文主要介紹了MySQL8.0.27安裝過程中卡在Initializing?Database中并報(bào)錯(cuò)的解決,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • MySQL8忘記密碼的快速解決方法

    MySQL8忘記密碼的快速解決方法

    這篇文章主要給大家介紹了關(guān)于MySQL8忘記密碼的快速解決方法,文中通過示例代碼以及圖片介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 如何在Windows中運(yùn)行多個(gè)MySQL實(shí)例詳解

    如何在Windows中運(yùn)行多個(gè)MySQL實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于如何在Windows中運(yùn)行多個(gè)MySQL實(shí)例的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • MySQL?移動(dòng)數(shù)據(jù)目錄后啟動(dòng)失敗問題解決

    MySQL?移動(dòng)數(shù)據(jù)目錄后啟動(dòng)失敗問題解決

    由于安裝數(shù)據(jù)庫時(shí)將MySQL的數(shù)據(jù)目錄放在了根目錄下,現(xiàn)在存儲(chǔ)空間不足,遇到這個(gè)問題如何解決呢,下面小編給大家?guī)砹薽ysql移動(dòng)數(shù)據(jù)目錄啟動(dòng)失敗解決方法,感興趣的朋友一起看看吧
    2023-04-04
  • Mysql服務(wù)器的安裝配置與啟動(dòng)關(guān)閉方法詳解

    Mysql服務(wù)器的安裝配置與啟動(dòng)關(guān)閉方法詳解

    MySQL 是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在 WEB 應(yīng)用方面 MySQL 是最好的 RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫管理系統(tǒng))應(yīng)用軟件之一
    2021-10-10
  • mysql where中如何判斷不為空的實(shí)現(xiàn)

    mysql where中如何判斷不為空的實(shí)現(xiàn)

    本文主要介紹了mysql where中如何判斷不為空的實(shí)現(xiàn),本文將針對這些空演示如何判斷是否為空,以及如何寫sql過濾,包括使用判空函數(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • MyISAM和InnoDB引擎優(yōu)化分析

    MyISAM和InnoDB引擎優(yōu)化分析

    這幾天在學(xué)習(xí)mysql數(shù)據(jù)庫的優(yōu)化并在自己的服務(wù)器上進(jìn)行設(shè)置,喻名堂主要學(xué)習(xí)了MyISAM和InnoDB兩種引擎的優(yōu)化方法,需要了解跟多的朋友可以參考下
    2012-11-11
  • MySQL簡化輸入小技巧

    MySQL簡化輸入小技巧

    在這里我將介紹兩個(gè)使用MySQL數(shù)據(jù)庫時(shí)候簡化輸入的小技巧。
    2011-09-09
  • mysql decimal數(shù)據(jù)類型轉(zhuǎn)換的實(shí)現(xiàn)

    mysql decimal數(shù)據(jù)類型轉(zhuǎn)換的實(shí)現(xiàn)

    這篇文章主要介紹了mysql decimal數(shù)據(jù)類型轉(zhuǎn)換的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02

最新評論