<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    于吉吉的技術博客

    建造高性能門戶網

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      65 隨筆 :: 6 文章 :: 149 評論 :: 0 Trackbacks
    檢查從服務器一般使用show slave status命令來檢查

    mysql> SHOW SLAVE STATUS\G
    *************************** 1. row ***************************
    Slave_IO_State: Waiting 
    for master to send event
    Master_Host: 
    192.168.0.100
    Master_User: root
    Master_Port: 
    3306
    Connect_Retry: 
    3
     Master_Log_File: mysql
    -bin.003
     Read_Master_Log_Pos: 
    79
    Relay_Log_File: mysql 
    -relay-bin. 003
    Relay_Log_Pos: 
    548
    Relay_Master_Log_File: mysql 
    -bin. 003
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
    Replicate_Do_DB:
    Replicate_Ignore_DB:
    Last_Errno: 
    0
    …..

    在上面這些信息中我們主要關注的是Slave_IO_Running和Slave_SQL_Running
    Slave_IO_Running:從服務器正從主服務器上讀取BINLOG日志,并寫入從服務器的中繼日志
    Slave_SQL_Running:進程正在讀取從服務器的BINLOG中繼日志,并轉化為SQL執行
    以前有一個進程是no狀態,表示復制的進程停止,在Last_Errno會看到是什么情況

    有時候因為主服務器的更新過于頻繁,造成了從服務器更新速度較慢,當然問題是多種多樣,有可能是網絡搭建的結構不好或者硬件的性能較差,從而使得主從服務器之間的差距越來越大,最終對某些應用產生了影響,在這種情況下,我們需要定期進行主從服務器的數據同步,具體步驟如下
    在主服務器上

    mysql> FLUSH TABLES WITH READ LOCK;
    Query OK, 
    0 rows affected (0.03 sec)
    mysql
    > show master status\G;
    *************************** 1. row ***************************
    File: mysql-bin.000004
    Position: 
    102
    Binlog_Do_DB:
    Binlog_Ignore_DB:
    1 row in set (0.00 sec)

    記錄出日志的名字和偏移量,這些是從服務器復制的目的目標

    在從服務器上,使用MASTER_POS_WAIT()函數得到復制坐標值

    mysql> select master_pos_wait('mysql-bin.000004','102');
    +-------------------------------------------+
    | master_pos_wait('mysql-bin.000004','102'|
    +-------------------------------------------+
    |                                      0                         |
    +-------------------------------------------+
    1 row in set (0.00 sec)
    這個select 語句會阻塞直到從服務器達到指定日志文件和偏移量后,返回0,如果是-1,則表示超時推出,查詢是0時,表示從服務器與主服務器已經同步

    在某些情況下,會出現從服務器更新失敗,首先需要確定是否從服務器的表與主服務器的不同造成的,如果是表結構造成的,則需要修改從服務器的表和主服務器一致,然后重新運行start slave
    如果不是表結構不同造成的更新失敗,則需要確認手動更新是否安全,然后忽視來自主服務器的更新失敗語句,跳過來來自主服務器的語句,命令為SET GLOBAL SQL_SLAVE_SKIP_COUNTER=n,其中,n=1表示來自主服務器的更新語句不使用AUTO_INCREMENT或LAST_INSERT_ID(),n=2時則反之,原因是使用AUTO_INCREMENT或LAST_INSERT_ID的語句需要從二進制日志中取得兩個事件.
    ----------------------------------------

    by 陳于喆
    Mail: chenyz@corp.netease.com



    posted on 2010-08-23 21:35 陳于喆 閱讀(4080) 評論(0)  編輯  收藏 所屬分類: mysql
    主站蜘蛛池模板: 亚洲电影在线免费观看| 精品亚洲视频在线| 天天看免费高清影视| 精品亚洲av无码一区二区柚蜜| 亚洲国产精品日韩| 日本免费一区二区三区| 亚洲精品无码你懂的| 西西人体大胆免费视频| 中文国产成人精品久久亚洲精品AⅤ无码精品| 嫩草影院在线播放www免费观看| 亚洲av无码久久忘忧草| 久久精品国产亚洲Aⅴ香蕉| 1000部国产成人免费视频| 日韩毛片免费一二三| 中文字幕亚洲精品资源网| 国产成人无码区免费A∨视频网站 国产成人涩涩涩视频在线观看免费 | 成在线人永久免费视频播放| 国产午夜不卡AV免费| 亚洲精品无码av中文字幕| 国产亚洲精品美女久久久| 中国在线观看免费国语版| 国产成人无码精品久久久久免费| JLZZJLZZ亚洲乱熟无码| 日韩欧毛片免费视频| 国产免费MV大全视频网站| 亚洲午夜一区二区三区| 亚洲精品乱码久久久久久蜜桃不卡| 最近中文字幕免费mv视频8| 亚洲av无码有乱码在线观看| 久久精品夜色国产亚洲av| 国产一精品一aⅴ一免费| ww在线观视频免费观看| a视频在线观看免费| 立即播放免费毛片一级| 91麻豆国产自产在线观看亚洲| 成人网站免费观看| 美丽姑娘免费观看在线观看中文版 | 久久久久亚洲av无码专区蜜芽| 国产男女猛烈无遮挡免费视频网站| 国产91色综合久久免费| 成在人线av无码免费高潮喷水 |