• <ul id="mayc0"></ul>
    <ul id="mayc0"><center id="mayc0"></center></ul>
    <strike id="mayc0"><input id="mayc0"></input></strike>
    <ul id="mayc0"></ul>
  • 始創于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊有禮 登錄
    • 掛牌上市企業
    • 60秒人工響應
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補償
    您的位置: 網站首頁 > 幫助中心>文章內容

    Slave_SQL_Running: No mysql同步故障解決方法

    發布時間:  2012/8/31 17:21:20

    Slave_SQL_Running: No mysql同步故障解決
         今天檢查數據庫發現一臺MySQL Slave未和主機同步,查看Slave狀態:
    mysql> show slave status\G
    Slave_IO_Running: Yes
    Slave_SQL_Running: No
    Last_Errno: 1062
    -
     

    ....
    Seconds_Behind_Master:NULL
    原因:
    1.程序可能在slave上進行了寫操作
    2.也可能是slave機器重起后,事務回滾造成的.
    解決辦法I:
    1.首先停掉Slave服務:slave stop
    2.到主服務器上查看主機狀態:
    記錄File和Position對應的值。
    mysql> show master status;
    +------------------+-----------+--------------+------------------+
    | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +------------------+-----------+--------------+------------------+
    | mysql-bin.000020 | 135617781 | | |
    +------------------+-----------+--------------+------------------+
    1 row in set (0.00 sec)
    3.到slave服務器上執行手動同步:
    mysql> change master to
    > master_host='master_ip',
    > master_user='user',
    > master_password='pwd',
    > master_port=3307,
    > master_log_file='mysql-bin.000020',
    > master_log_pos=135617781;
    1 row in set (0.00 sec)
    mysql> slave start;
    1 row in set (0.00 sec)
    再次查看slave狀態發現:
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
    ...
    Seconds_Behind_Master: 0
    解決辦法II:
    mysql> slave stop;
    mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
    mysql> slave start;
     
    自己的使用體會:方法一是強制性從某一個點開始同步,會有部分沒有同步的數據丟失,后續主服務器上刪除記錄同步也會有一些錯誤信息,不會影響使用.方法二不一定會有效果.
     
     
    =======================================================================================]
    1,主從不能同步:
    show slave status;報錯:Error xxx dosn't exist
    且show slave status\G:
    Slave_SQL_Running: NO
    Seconds_Behind_Master: NULL
    解決方法:
    stop slave;
    set global sql_slave_skip_counter =1 ;
    start slave;
    之后Slave會和Master去同步 主要看:
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
    Seconds_Behind_Master是否為0,0就是已經同步了
    2,還需要做的一些優化與監視:
    show full processlist; //查看mysql當前同步線程號
    skip-name-resolve       //跳過dns名稱查詢,有助于加快連接及同步的速度
    max_connections=1000    //增大Mysql的連接數目,(默認100)
    max_connect_errors=100 //增大Mysql的錯誤連接數目,(默認10)
     

    查看日志一些命令
    1,  show master status\G;
               在這里主要是看log-bin的文件是否相同。
        show slave status\G;
        在這里主要是看:
                       Slave_IO_Running=Yes
                       Slave_SQL_Running=Yes
       如果都是Yes,則說明配置成功.
    2,在master上輸入show processlist\G;
         mysql> SHOW PROCESSLIST\G
         *************************** 1. row ***************************
           Id: 2
           User: root
           Host: localhost:32931
           db: NULL
           Command: Binlog Dump
           Time: 94
           State: Has sent all binlog to slave; waiting for binlog to
             be updated
           Info: NULL
       如果出現Command: Binlog Dump,則說明配置成功.
     
     
    stop slave    #停止同步
    start slave    #開始同步,從日志終止的位置開始更新。
    SET SQL_LOG_BIN=0|1  #主機端運行,需要super權限,用來開停日志,隨意開停,會造成主機從機數據不一致,造成錯誤
    SET GLOBAL SQL_SLAVE_SKIP_COUNTER=n  # 客戶端運行,用來跳過幾個事件,只有當同步進程出現錯誤而停止的時候才可以執行。
    RESET MASTER  #主機端運行,清除所有的日志,這條命令就是原來的FLUSH MASTER
    RESET SLAVE   #從機運行,清除日志同步位置標志,并重新生成master.info
    雖然重新生成了master.info,但是并不起用,最好,將從機的mysql進程重啟一下,
    LOAD TABLE tblname FROM MASTER #從機運行,從主機端重讀指定的表的數據,每次只能讀取一個,受timeout時間限制,需要調整timeout時間。執行這個命令需要同步賬號有 reload和super權限。以及對相應的庫有select權限。如果表比較大,要增加net_read_timeout 和 net_write_timeout的值
    LOAD DATA FROM MASTER  #從機執行,從主機端重新讀入所有的數據。執行這個命令需要同步賬號有reload和super權限。以及對相應的庫有select權限。如果表比較大,要增加net_read_timeout 和 net_write_timeout的值
    CHANGE MASTER TO master_def_list  #在線改變一些主機設置,多個用逗號間隔,比如
    CHANGE MASTER TO
      MASTER_HOST='master2.mycompany.com',
      MASTER_USER='replication',
      MASTER_PASSWORD='bigs3cret'
    MASTER_POS_WAIT() #從機運行
    SHOW MASTER STATUS #主機運行,看日志導出信息
    SHOW SLAVE HOSTS #主機運行,看連入的從機的情況。
    SHOW SLAVE STATUS (slave)
    SHOW MASTER LOGS (master)
    SHOW BINLOG EVENTS [ IN 'logname' ] [ FROM pos ] [ LIMIT [offset,] rows ]
    PURGE [MASTER] LOGS TO 'logname' ; PURGE [MASTER] LOGS BEFORE 'date'


    本文出自:億恩科技【www.vbseamall.com】

    服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線