#MYSQL單節點的mysql遠遠不能滿于生成,以防止生產服務器宕機,磁盤空間溢滿等種種原因,需要有一個備用資料庫,
這時候主從庫是不錯的選擇,在是資料庫集群中也起到了很大的作用
#MySQL 主從復制概念:
MySQL 主從復制是指資料可以從一個MySQL資料庫服務器主節點復制到一個或多個從節點,MySQL 默認采用異步復制方式,這樣從節點不用一直訪問主服務器來更新自己的資料,資料的更新可以在遠程連接上進行,從節點可以復制主資料庫中的所有資料庫或者特定的資料庫,或者特定的表,
#一般主從架構
- 一主一從
一主一從和一主多從是最常見的主從架構,實施起來簡單并且有效,不僅可以實作HA,而且還能讀寫分離,進而提升集群的并發能力,

- 多主一從
多主一從可以將多個mysql資料庫備份到一臺存盤性能比較好的服務器上

-
雙主復制
雙主復制,也就是互做主從復制,每個master既是master,又是另外一臺服務器的slave,這樣任何一方所做的變更,都會通過復制應用到另外一方的資料庫中
- 級聯復制

級聯復制模式下,部分slave的資料同步不連接主節點,而是連接從節點,因為如果主節點有太多的從節點,就會損耗一部分性能用于replication,那么我們可以讓3~5個從節點連接主節點,其它從節點作為二級或者三級與從節點連接,這樣不僅可以緩解主節點的壓力,并且對資料一致性沒有負面影響,
1.主從服務器要求
(1)版本一致
(2)初始化表,并在后臺啟動mysql
(3)可供mysql用戶
2.主庫配置

2.從庫配置,從庫不配置日志也是可以的,只配置server_id即可滿足

3.查看主庫的日志資訊
mysql>show master status; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000004 | 308 | | | +------------------+----------+--------------+------------------+ 1 row in set (0.00 sec)
4.重啟主從庫,配置從庫的slave
mysql>change master to master_host='192.168.145.222',master_user='mysync',master_password='q123456', master_log_file='mysql-bin.000004',master_log_pos=308; //注意不要斷開,308數字前后無單引號, Mysql>start slave; //啟動從服務器復制功能
5.查看從庫復制功能狀態
mysql> show slave status\G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.2.222 //主服務器地址 Master_User: mysync //授權帳戶名,盡量避免使用root Master_Port: 3306 //資料庫埠,部分版本沒有此行 Connect_Retry: 60 Master_Log_File: mysql-bin.000004 Read_Master_Log_Pos: 600 //#同步讀取二進制日志的位置,大于等于Exec_Master_Log_Pos Relay_Log_File: ddte-relay-bin.000003 Relay_Log_Pos: 251 Relay_Master_Log_File: mysql-bin.000004 Slave_IO_Running: Yes //此狀態必須YES Slave_SQL_Running: Yes //此狀態必須YES
注:Slave_IO及Slave_SQL行程必須正常運行,即YES狀態,否則都是錯誤的狀態(如:其中一個NO均屬錯誤),
6.進行驗證,在主庫建表,從庫會同步資料過來,可撰寫shell腳本監控salve兩個yes(Slave_IO及Slave_SQL行程),如發現只有一個或零個yes,就表明主從有問題了,發短信警報吧,

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/92702.html
標籤:MySQL
