Linux下keepalived+Mysql主主同步實現資料庫高可用實踐
1):編輯mysql配置檔案/etc/my.cnf,選定主主同步的資料庫
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql symbolic-links=0 log-bin=binlog binlog_format=mixed server_id=1//主備兩臺mysql的server_id須不同 binlog-do-db=render replicate-do-db=render [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
2):操作主資料庫,"show master status"後記錄下其file和position
grant replication slave on *.* to 'slave'@'192.168.1.90' identified by '123456';
flush privileges;
show master status;
3):操作從資料庫,如果show slave status正常,則主從同步機制建立。同時也在從資料庫上開啟master,以便主資料庫也能從從資料庫同步資料
4):操作主資料庫,如果show slave status正常,則主主同步機制建立完成。change master to master_host='192.168.1.33',master_user='slave',master_password='123456',master_port=3306,master_log_file='binlog.000001',master_log_pos=207017; start slave; show slave status; grant replication slave on *.* to 'slave'@'192.168.1.33' identified by '123456'; flush privileges; show master status;
master-mysql:
change master to master_host='192.168.1.90',master_user='slave',master_password='123456',master_port=3306,master_log_file='mysql-bin.000014',master_log_pos=2461;
start slave;
show slave status;
5):資料庫主主機制建立後,還需要在兩臺機器上都安裝keepalived,以便向外提供一個VIP,當某臺機器掛的時候,不影響資料庫的使用。
a)需要安裝ipvsadm和keepalived:yum install ipvsadm;yum install keepalived;
b)編輯/etc/keepalived/keepalived.conf。
global_defs {
notification_email {
[email protected]
[email protected]
[email protected]
}
notification_email_from [email protected]
smtp_server 192.168.1.33
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_mysqld{
script "/etc/keepalived/mysql.sh"
interval 3
weight -20
}
vrrp_instance VI_1 {
state MASTER//主備不同
interface eth1
virtual_router_id 51
priority 100//主備不同,備的比主的要小
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.13
}
}
virtual_server 192.168.1.13 3306 {
delay_loop 2
lb_algo rr
lb_kind DR
persistence_timeout 60
protocol TCP
real_server 192.168.1.90 3306{//主備兩臺機器的實IP不同
weight 3
notify_down /etc/keepalived/mysql.sh
TCP_CHECK{
connect_timeout 3
nb_get_retry 3
connect_port 3306
}
}
}
c)編輯/etc/keepalived/mysql.sh。keepalived會定時啟動mysql.sh指令碼檢查資料庫狀態,當資料庫異常時,殺死當前機器的keepalived,VIP將被另一臺資料庫機器繫結,從而實現資料庫的高可用,平滑切換。
#!/bin/bash
MYSQL_OK=1
function check_mysql_helth (){
mysql -e "show status;" &>/dev/null
if [ $? = 0 ] ;then
MYSQL_OK=1
else
MYSQL_OK=0
fi
return $MYSQL_OK
}
while [ $CHECK_TIME -ne 0 ]
do
let "CHECK_TIME -= 1"
check_mysql_helth
if [ $MYSQL_OK = 1 ] ; then
echo "mysql ok\n"
CHECK_TIME=0
exit 0
fi
if [ $MYSQL_OK -eq 0 ] && [ $CHECK_TIME -eq 0 ]
then
pkill keepalived
exit 1
fi
sleep 1
done
d)啟動keepalived:/usr/sbin/keepalived -D。使用VIP(這裡是192.168.1.13)連線資料庫即可。
相關推薦
Linux下keepalived+Mysql主主同步實現資料庫高可用實踐
1):編輯mysql配置檔案/etc/my.cnf,選定主主同步的資料庫 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql symbolic-links=0 lo
使用Keepalived配置主從熱備實現Nginx高可用(HA)
_id keep 過去 基礎 inter icmp interval RR 轉發 Keepalived 簡要介紹 Keepalived 是一種高性能的服務器高可用或熱備解決方案,Keepalived 可以用來防止服務器單點故障的發生,通過配合 Nginx 可以實現 w
MySQL分散式資料庫高可用實踐:架構、複製機制、多機房
大家好!我是網易資料運維工程師杜明友,大家可以叫我老杜。首先介紹一下網易雲,是網易集團旗下雲端計算和大資料品牌,本文要深入分析的案例是網易雲旗下的即時通訊雲平臺業務,開發者通過整合客戶端SDK和雲端OPEN API,即可快速實現強大的IM功能,作為PaaS服務模式的網易雲信全面支援Android、iOS、We
inotify+rsync+mysql主主復制+keepalived實現zabbix高可用
lease 包含 ati weight ebp nag fig 數據信息 replicat 思路:主備機通過inotify+rsync實現文件同步,通過mysql主主復制實現數據同步,同一時刻只有一臺服務器能對外提供zabbix服務,web端登陸虛ip訪問,被監控主機通過配
keepalived+mysql雙主
keepalived+mysql雙主keepalived+mysql雙主原理:(1)主庫1上的keepalived啟動之後,會檢查mysql服務是否活著,如果活著,keepalived進入master狀態,獲得VIP;(2)主庫2上的keepalived啟動之後,也會檢查mysql是否活著,然後檢查keepa
keepalived雙主模式實現nginx高可用及LNAMMP架構
keepalived nginx lnammpkeepalived雙主模式實現nginx高可用及LNAMMP架構一、利用keepalived實現nginx調度器高可用;二、構建LNAMMP架構: 1) Nginx既是前端調度器,又是緩存服務器; 2) 將php的session緩存於memcached中;
Memcached 主主復制+ Keepalived 實現 Memcached 高可用架構集群
作用 代理 應用 進行 rep 高可用性 val gen backup Memcached +keepalived 高可用集群 Memcached 主主復制這種架構,在程序連接時不知道應該連接哪個主服務器,所以需要在前端增加 VIP 地址,實現高可用架構。這裏用 Keep
keepalived實現nginx高可用,一主一備
ddr cti 文件重命名 實現 usr time deb 安裝 fall keepalived實現nginx高可用(HA) 安裝直接yum安裝就可以,版本可能比官網落後,但是夠用了, yum -y install keepalived 編輯配置文件,默認路徑 /et
Linux下配置MySQL主從同步(不復雜,簡單明瞭)
明人不說暗話,直接進入正題 一、準備工作 假設兩個伺服器IP如下: 主伺服器:44.92.163.112 -Linux 從伺服器:114.74.22.11 -Linux 注意: 1、主從資料庫版本最好一致; 2、主從資料庫內資料保持一致;
mysql主主複製+Keepalived高可用實踐
最近領導交給我一個任務,說是研究一下mysql的高可用方案,方向為keepalived+mysql的主主複製功能。 剛開始一臉懵逼,竟然連“高可用”、“主主複製”、“keepalived”這些詞都是第一次聽說,真是汗顏。於是,趕緊惡補,原來複制(replication)功能
MySQL 高可用之 keepalived+Mysql 雙主雙活。
環境描述:[[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) [[email protected] ~]# cat /etc/redhat-release CentOS L
nginx(四) nginx+keepalived 實現主備+雙主熱備模型的高可用負載均衡代理服務
nginx(四) nginx+keepalived 實現主備+雙主熱備模型的高可用負載均衡代理服務 在前面《nginx配置:反向代理 負載均衡 後端健康檢查 快取》等幾篇文章中,我們配置了nginx的反向代理負載均衡WEB叢集,而在《keepalived
Keepalived+MySQL雙主高可用配置
1.安裝環境: 伺服器IPOSMySQL同步使用者名稱/密碼VIP master1192.168.0.110CentOS
MySQL 高可用性—keepalived+mysql雙主(有詳細步驟和全部配置項解釋)
MySQL 高可用性—keepalived+mysql雙主(有詳細步驟和全部配置項解釋)
Linux下安裝Mysql
ibm get col cli nbsp bench -s sudo clas 1. sudo apt-get install mysql-server 2. sudo apt-get isntall mysql-client 3. sudo apt-get instal
Linux下安裝Mysql(RPM安裝)
rpm安裝 技術分享 sql安裝 data track rpm包 用戶 系統 username 一、去官網下載本次安裝須要的mysql版本號。我們須要安裝的是5.1版本號的且centos系統是64位的。所下面載的是MySQL-community-5.1.73-1.rhe
linux 下安裝mysql-5.7.16
unit sda etc tro tables rac 用戶密碼 username force 1.解壓tar -xvf mysql的包 tar -xvf mysql-5.7.16-1.el6.x86_64.rpm-bundle.tar(mysql 官網中即可找到)2.
奪命雷公狗---linux NO:34 linux下的mysql安裝與連接
初始 目錄 -1 分享 希望 網上 groupadd mysql安裝 libaio mysql 其實是可以通過 yum install mysql-server 來進行安裝的,不過考慮到很多服務器自身帶寬的原因,其實用的不是特別的多,看實際情況來定。。。 當然yum
Linux下安裝mysql(離線安裝和在線安裝)
命令 安裝 this glib leg rpm /usr node star 一:在線安裝mysql 1、首先檢測一下,mysql之前有沒有被安裝 命令:rpm -qa | grep mysql 2、刪除mysql的命令: rpm -e --nodeps `rpm -q
linux下操作mysql
lin mysql linux下 mes 設置 word 表名 ble 操作 1.命令行登錄mysql用戶mysql -h ip -u username -p passwordmysql -hip -uusername -ppassword(可以沒有空格)2.顯示所有的數據