首頁 > 資料庫 > mysql教程 > MYSQL學習總結(五):MYSQL主從搭建

MYSQL學習總結(五):MYSQL主從搭建

黄舟
發布: 2016-12-23 17:13:14
原創
1246 人瀏覽過

 測試機器:主192.168.1.71   從192.168.1.74
  第一步:在主機庫上產生賦予從庫權限帳號(請參閱上方MY 賦權)
    / /主資料庫ID
          Binlog-do-db = DB1         //需要同步的函式庫1
          -bin         //開啟二進位日誌
  第三步驟:重啟主伺服器
  第四步:主伺服器上執行鎖定表flush tables with read lock;
  第五步:主伺服器上執行show master status;記住二進位檔案和位置
 
  第六步:取得主上面的快照,目前有二種方法,一種是直接tar打包,另一種是mysqldump.然後拷到從函式庫對應資料目錄。不過聽說有用lvm的,很快,一直沒找對資料學習。
  第七步:解鎖主函式庫unlock tables;
  第八步:修改從庫設定檔
          Server-id = 2        //從伺服器ID,避免與主重複
//更新的數據,寫入自己的二進位日誌
          Master-connect-retry = 60 //當從斷開後,60秒後再次連接主
  第九步:在從庫上設定同步to master_host='192.168.1.71',master_user='第一步產生的使用者',master_password='第一步產生的密碼',master_log_file='mysql-bin.000062',master_log_pos=316406;
  第十步:第十步:啟動從函式庫slave start; 並檢視從函式庫狀態show slave statusG,如圖:
           
注意觀察狀態的Slave_IO_Running,Slave_SQL_Running為yes,即主從通訊正常。 Seconds_Behind_Master為0,表示主從同步延遲狀態良好。
說明:主從複製是透過主的dump線程和從的IO線程,SQL線程來實現的。可以透過登陸MYSQL 使用 show processlist查看線程狀態。由從的IO線程往主伺服器拉二進位日誌,然後寫入到自己的中繼日誌(即Relay_log_File),然後透過 從的SQL線程讀取中繼日誌將SQL語句及操作寫入本地資料庫。
MYSQL主從運行中常見問題:
1. 確保主從伺服器MYSQL均已正常運行,二進位日誌均已打開,從中可以使用複製帳號進行存取主庫,
2. 從上面IO線程顯示為NO,則start slave io_thread; 
3. 從上面SQL線程顯示為NO,需要查找錯誤日誌,定位到問題後,手動修改或直接跳過這個操作(確保安全),跳過這個操作可使用SET GLOBAL SQL_slave_SKIP_COUNTER = 1;然後start slave;
4. 重新做主從,需要刪除從資料庫中的master.info,relay-log.info
5. 當主伺服器掛掉或效能下降後,使用從伺服器頂上(確保從上已經與同步到主伺服器的所有數據,可透過查看主的狀態中的pos和文件,再根據從的狀態中的Mster_log_File,Read_Master_log_pos,Relay_Master_log_file,Exec_Master_log_Pos來判斷),需要執行:
Stop slave IO_thread;
Stop; Reset master;
同時刪除master.info relay-log.info
重啟從MYSQL


 以上就是MYSQL學習總結(五):MYSQL主從搭建的內容,更多相關內容請關注PHP中文網(www.php .cn)!


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板