mysql主從複製mysql
主從複製的做用:數據庫備份,讀寫分離,數據庫負載均衡,高可用,集羣。sql
主從複製產生問題:
1:延遲性 比較少見
先查從節點,在查主節點
2:主從同步不一致
清除從全部數據,從新同步數據庫
讀寫分離的好處:
提升服務器性能,減輕服務器壓力安全
一主一備服務器
數據一致性
從庫是經過二進制SQL日誌文件來實時的獲取主庫的數據;負載均衡
在實際項目開發中通常都是主庫作寫操做,從庫作讀操做ide
當主庫掛了,那麼從庫會替代主庫的職位性能
操做、安裝MYSQL時可能會發生的問題:spa
LINUX中操做系統位數問題:http://www.javashuo.com/article/p-cqkzqdao-kk.html操作系統
LINUX中MYSQL安裝問題:http://www.javashuo.com/article/p-uwwymbia-dz.html
MYSQL中沒有mysql庫:http://www.javashuo.com/article/p-bhxaauie-cw.html
沒法鏈接LINUX中的MYSQL:http://www.javashuo.com/article/p-pnhktvso-ms.html
主從複製配置:
服務器準備:
192.168.110.177 主服務器 master
192.168.110.178 從服務器slave
主(master)服務器
1:修改my.cnf文件
vi /etc/my.cnf 新增如下內容
server_id=177 ###服務器id
log-bin=mysql-bin ###開啓日誌文件
2:重啓服務器
service mysqld start
service iptables stop
3:主服務器給從服務器帳號受權
GRANT REPLICATION SLAVE ON *.* to 'mysync'@'%' identified by 'q123456';
//通常不用root賬號,“%”表示全部客戶端均可能連,只要賬號,密碼正確,此處可用具體客戶端IP代替,如192.168.145.226,增強安全。
4:登陸主服務器的mysql,查詢master的狀態
show master status;
若是結果爲null,則主服務器my.cf沒有配置好.
從(slave)服務器
1:修改my.cnf文件
vi /etc/my.cnf 新增如下內容
server_id=178 ###服務器id
log-bin=mysql-bin ###開啓日誌文件
binlog_do_db=test ###須要同步的數據庫s
2:重啓服務器
service mysqld start
service iptables stop
3:受權
change master to master_host='192.168.110.177',master_user='mysync',master_password='q123456',
master_log_file='mysql-bin.000002',master_log_pos=343;
注意:master_host='主機IP',master_user='主機配置的帳號',master_password='主機配置的密碼',
master_log_file='主機的日誌文件',master_log_pos=主機狀態嗎;
4:啓動同步
start slave
檢查從服務器複製功能狀態
SHOW SLAVE STATUS
Slave_IO_Running: Yes //此狀態必須YES
Slave_SQL_Running: Yes //此狀態必須YES
這樣就配置成功了!!!