mysql作主從配置

  最近想對公司的數據庫作個從數據庫,除了天天定時備份外,再多出一個同步數據庫,雙保險,這樣也能夠用從數據庫就行比較耗資源的數據統計。mysql

  技術手段最好能記住,而後就是作筆記了,可是每次都查筆記也很差,但願能記住,這樣知識才會變成本身的,這裏總結了一下記憶點。sql

  1,要在主,從服務器上改mysql的數據庫配置(肯定身份,這個好記)數據庫

    a.改主服務器mysql配置,vim /etc/my.confvim

      

      log-bin=mysql-bin #要啓用二進制日誌
      server-id = 1
      binlog-do-db = lk_homepage #肯定要操做的數據庫服務器

      

    改完要重啓mysql,若是mysql重啓失敗,說明配置有問題日誌

    進入mysql控制檯,show master status\G,能夠看到對應的狀態,要記住是經過哪一個二進制日誌進行同步,以及位置server

      File: mysql-bin.000035
      Position: 2093322
      Binlog_Do_DB: lk_homepage

blog

        b.改從服務器mysql配置,vim /etc/my.conf圖片

      log-bin=mysql-bin #要啓用二進制日誌
      server-id = 2 #這個千萬要和主的 server-id不同才行
    重啓mysqlip

 

  2,在主服務器mysql裏賦權限給從

    GRANT REPLICATION SLAVE ON *.* TO '用戶名' @'對方主機ip' IDENTIFIED BY '密碼'

    給slave一個操做權限,所謂同步,其實就是和認定的主機進行數據交互,固然要賦予目標權限。

  

      3,接下來就是 從服務器的更改了,進入從服務器mysql控制檯運行

    change master to master_host='192.168.xxx.xxx',master_user='xxx',master_password='xxx',
         master_log_file='mysql-bin.000004',master_log_pos=308;

    其中這些參數應該和主服務器上的對應的設置匹配上才行。

    而後要 start slave,  若是前面已經運行了slave,要先 stop slave 一下。

       >>show slave status\G  

    能夠看到slave轉檯,如下兩行都爲Yes才表示處於可同步狀態,若是同步過程出了sql錯誤,清理掉sql出錯後,從新同步,此時須要在前面的master_log_pos裏修改成新的位置,再重新啓動slave,而後看下兩個是否變成了Yes

     Slave_IO_Running: Yes    //此狀態必須YES
            Slave_SQL_Running: Yes     //此狀態必須YES

    

  從以上能夠看出,從服務器會去主服務器找對應的日誌,從日誌裏找到要作的更改,而後同步到從服務器,從服務器再進行對應的sql操做,爲此上網驗證了下,大體是這樣的原理

圖片來自互聯網

相關文章
相關標籤/搜索