從宕機崩潰的master保存二進制日志事件(binlog events)
識別含有最新更新的slave
應用差異的中繼日志(relay log)到其他的slave
應用從master保存的二進制日志事件(binlog events)
提升一個slave為新的master
使其他的slave連接新的master進行復制
masterha_check_ssh 檢查MHA的SSH配置狀況
masterha_check_repl 檢查MySQL復制狀況
masterha_manger 啟動MHA
masterha_check_status 檢測當前MHA運行狀態(tài)
masterha_master_monitor 檢測master是否宕機
masterha_master_switch 故障轉(zhuǎn)移(自動或手動)
masterha_conf_host 添加或刪除配置的server信息
save_binary_logs 保存和復制master的二進制日志
apply_diff_relay_logs 識別差異的中繼日志事件并將其差異的事件應用于其他的slave
filter_mysqlbinlog 去除不必要的ROLLBACK事件(MHA已不再使用此工具)purge_relay_logs 清除中繼日志(不會阻塞SQL線程)
ssh-keygen 任意一臺主機生成公鑰私鑰對
ssh-copy-id 192.168.190.128 生成文件在.ssh目錄
scp -r /root/.ssh 192.168.190.129
scp -r /root/.ssh 192.168.190.130
scp -r /root/.ssh 192.168.190.131
[server default]
user=mhauser 主服務器的管理賬號
password=centos mhauser的密碼
manager_workdir=/data/mastermha/app1/ 工作目錄
manager_log=/data/mastermha/app1/manager.log 日志目錄
remote_workdir=/data/mastermha/app1/
ssh_user=root ssh連接賬號
repl_user=repluser 復制賬號
repl_password=centos 復制賬號的密碼
ping_interval=1
[server1]
hostname=192.168.190.129 主服務器
candidate_master=1 有機會晉升為主
[server2]
hostname=192.168.190.130 從服務器
candidate_master=1 有機會晉升為主
[server3]
hostname=192.168.190.131 從服務器
candidate_master=1 有機會晉升為主
log-bin 啟用二級制
server_id=1 服務器id,每個節(jié)點必須不同
innodb_file_per_table 每個庫,每張表
skip_name_resolve=1 通過ip連接,不解析主機名
log_slave_updates = 1 主從切換時用
plugin_load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so" 加載半同步復制的插件,主從的都裝,主壞,從頂上時實現(xiàn)半同步
loose_rpl_semi_sync_master_enabled = 1 開啟主的半同步功能
loose_rpl_semi_sync_slave_enabled = 1 開啟從的半同步功能
loose_rpl_semi_sync_master_timeout = 5000
mysql
mysql>show master logs
mysql>grant replication slave on *.* to repluser@'192.168.31.%' identified by ‘centos';
mysql>grant all on *.* to mhauser@‘192.168.190.%’ identified by ‘magedu‘;
show variables like '%semi%';
vim /etc/my.cnf
[mysqld]
server_id=2 不同節(jié)點此值各不相同
log-bin
read_only 只讀,對超級用戶無效,主壞切換為主時,全局變量會變
relay_log_purge=0 不刪除中繼日志
skip_name_resolve=1 不解析主機名,通過ip連接
plugin_load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so" 加載半同步復制的插件,主從的都裝,主壞,從頂上時實現(xiàn)半同步
loose_rpl_semi_sync_master_enabled = 1 開啟主的半同步功能
loose_rpl_semi_sync_slave_enabled = 1 開啟從的半同步功能
loose_rpl_semi_sync_master_timeout = 5000
mysql>CHANGE MASTER TO MASTER_HOST=‘MASTER_IP', MASTER_USER='repluser', MASTER_PASSWORD=‘centos', MASTER_LOG_FILE='mariadb-bin.000001', MASTER_LOG_POS=245;
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。