Keepalived是基于VRRP(Virtual Router Redundancy Protocol,虛擬路由器冗余協議)協議的一款高可用軟件。Keepailived有一臺主服務器(master)和多臺備份服務器(backup),在主服務器和備份服務器上面部署相同的服務配置,使用一個虛擬IP地址對外提供服務,當主服務器出現故障時,虛擬IP地址會自動漂移到備份服務器。
創新互聯公司為您提適合企業的網站設計?讓您的網站在搜索引擎具有高度排名,讓您的網站具備超強的網絡競爭力!結合企業自身,進行網站設計及把握,最后結合企業文化和具體宗旨等,才能創作出一份性化解決方案。從網站策劃到網站設計、成都做網站, 我們的網頁設計師為您提供的解決方案。
1.有一個錯誤:
2020-12-08T17:24:00.656737Z 9 [ERROR] Slave I/O for channel '': Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work. Error_code: 1593
解決辦法,修改其中一臺服務器的server-uuid,并保證server-uuid的格式正確,修改完成之后重啟Mysql服務就可以了。
在修改配置文件之前,先登錄Mysql客戶端查看uuid,把返回的uuid復制,放到要修改的配置文件即可。
mysql雙主配置很簡單,似乎大家都只關心他的安裝和部署,大家可以用他來做雙活的方案,并沒有深刻的思考過生產環境后續管理的風險和如何規避這些問題。
log-slave-updates = true
auto_increment_offset = 1 #另外一個主B是2,其他一樣。
auto_increment_increment = 2
replicate-ignore-db = mysql
replicate-ignore-db = sys
replicate-ignore-db = information_schema
replicate-ignore-db = performance_schema
replicate-ignore-db = undolog
replicate_wild_ignore_table = mysql.%
replicate_wild_ignore_table = sys.%
replicate_wild_ignore_table = information_schema.%
replicate_wild_ignore_table = performance_schema.%
replicate_wild_ignore_table = undolog.%
雙主如果一邊更新表結構,一邊在寫入,即使你認為你的的sql沒有問題。但是mysqlbinlog的寫入日志不是這樣的,比如row格式,需要回放的日志如下下面,你修改表結構之前是可以插入的,中間查多一列的話,你的列對不上了,導致1167錯誤。目前有兩種辦法可以規避這個問題:
如果忽略了一些庫,比如mysql的庫,創建賬號的時候,就需要兩邊創建。
IP的設置:A主機 IP:10.10.0.119;Mask:255.255.0.0;B主機 IP:10.10.8.112;Mask:255.255.0.0
在IP設置完成以后,需要確定兩主機的防火墻確實已經關閉。可以使用命令service iptables status查看防火墻狀態。如果防火墻狀態。
為仍在運行。使用service iptables stop來停用防火墻。如果想啟動關閉防火墻,可以使用setup命令來禁用或定制。最終以兩臺主機可以相互ping通為佳。
3.2 配置A主(master) B從(slave)模式;3.2.1 配置A 為master。
增加一個用戶同步使用的帳號:
GRANT FILE ON *.* TO ‘backup’@'10.10.8.112' IDENTIFIED BY ‘1234’;
GRANTREPLICATION SLAVE ON *.* TO ‘backup’@'10.10.8.112' IDENTIFIED BY ‘1234’。
賦予10.10.8.112也就是Slave機器有File權限,只賦予Slave機器有File權限還不行,還要給它REPLICATION SLAVE的權限才可以。
增加一個數據庫作為同步數據庫:create database test;
創建一個表結構:create table mytest (username varchar(20),password varchar(20));
修改配置文件:修改A的/etc/my.cnf文件。
在my.cnf配置項中加入下面配置:
server-id = 1 #Server標識
log-bin
binlog-do-db=test #指定需要日志的數據庫
重起數據庫服務:
service mysqld restart
查看server-id:
show variable like ‘server_id’。
分享名稱:mysql雙主怎么實現 mysql雙主原理
文章URL:http://vcdvsql.cn/article44/doiehee.html
成都網站建設公司_創新互聯,為您提供虛擬主機、App設計、網站排名、網站導航、品牌網站建設、靜態網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯