一、準(zhǔn)備(主從都需要配置):
yum -y install mysql mysql-server #安裝mysql
yum -y install ntpdate #安裝時(shí)間同步
echo '*/1 * * * * /usr/sbin/ntpdate ntp1.aliyun.com &>/dev/null' >>/var/spool/cron/root #配置網(wǎng)絡(luò)時(shí)間同步
service mysqld start #啟動(dòng)服務(wù)
chkconfig --add mysqld #添加為系統(tǒng)服務(wù)
chkconfig mysqld on #開啟默認(rèn)運(yùn)行級(jí)別
二、主服務(wù)器配置:主配置文件默認(rèn)為:/etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
log-bin=master-bin #開啟二進(jìn)制日志文件
server-id=1 #設(shè)置服務(wù)器id,保證全局唯一
sync-binlog=1 #全局唯一的server-id
innodb-flush-logs-at-trx-commit=1
innodb-support-xa=1
service mysqld restart #重啟動(dòng)服務(wù)
mysql> show global variables like '%server%'; #數(shù)據(jù)庫(kù)id
mysql> show master logs; #查看數(shù)據(jù)庫(kù)二進(jìn)制日志
mysql> show master status; #查看主服務(wù)器狀態(tài),記住二進(jìn)制日志名,配置從服務(wù)器會(huì)用
mysql> grant replication slave,replication client on *.* to 'copy'@'192.168.0.50' identified by '123.com';
#授權(quán)192.168.0.50主機(jī)上的copy用戶對(duì)所有庫(kù)有復(fù)制權(quán)限
mysql> select Host,User,Password from mysql.user; #查看用戶
三、從服務(wù)器配置:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
relay-log=slave-log #啟用中繼日志
server-id=10 #服務(wù)器id,全局唯一
read-only=1 #將服務(wù)器設(shè)置為只讀模式(對(duì)擁有root權(quán)限的用戶無(wú)效)
service mysqld restart #重啟動(dòng)服務(wù)
mysql> change master to master_host='192.168.0.10',master_user='copy',
master_password='123.com',master_log_file='master-bin.000001',master_log_pos=590;
master_host #主服務(wù)器地址
master_user #擁有復(fù)制權(quán)限的用戶
master_password #密碼
master_log_file #從哪個(gè)二進(jìn)制日志開始復(fù)制
master_log_pos #從二進(jìn)制日志的什么位置開始復(fù)制
mysql> start slave; #開啟從服務(wù)器
mysql> show slave status\G; #查看從服務(wù)器狀態(tài)
四、驗(yàn)證主從:
主服務(wù)器:
mysql> create database db_test; #創(chuàng)建數(shù)據(jù)庫(kù)
從服務(wù)器:
mysql> show databases; #查看服務(wù)器是否同步
五、主主復(fù)制
服務(wù)器A:
[mysqld] #添加內(nèi)容
log-bin=master-bin #啟用二進(jìn)制日志
relay-log=slave-log #啟用中繼日志
server-id=1 #服務(wù)器id,全局唯一
auto-increment-offset=1 #自增列起始
auto-increment-increment=2 #自增列一次步進(jìn)(例:1,3,5,7,9...)
mysql> grant replication slave,replication client on *.* to 'copy'@'192.168.0.50' identified by '123.com';
mysql> change master to master_host='192.168.0.50',master_user='copy',
master_password='123.com',master_log_file='master-bin.000001',master_log_pos=106;
mysql> start slave;
mysql> show slave status\G;
服務(wù)器B:
[mysqld] #添加內(nèi)容
log-bin=master-bin
relay-log=slave-log
server-id=10
auto-increment-offset=2 #自增列起始
auto-increment-increment=2 #自增列一次步進(jìn)(例:2,4,6,8,10...)
mysql> grant replication slave,replication client on *.* to 'copy'@'192.168.0.10' identified by '123.com';
mysql> change master to master_host='192.168.0.10',master_user='copy',
master_password='123.com',master_log_file='master-bin.000003',master_log_pos=106;
mysql> start slave;
mysql> show slave status\G;
六、半同步復(fù)制
要想使用半同步復(fù)制,必須滿足以下幾個(gè)條件:
1. MySQL 5.5及以上版本
2. 變量have_dynamic_loading為YES
3. 異步復(fù)制已經(jīng)存在
主:
mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so'; #安裝插件
mysql> show plugins; #查看插件是否安裝成功
mysql> SET GLOBAL rpl_semi_sync_master_enabled = 1; #啟用半同步
mysql> show status like 'Rpl_semi_sync_master_status'; #查看是否在運(yùn)行
從:
mysql> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so'; #安裝插件
mysql> show plugins;
mysql> SET GLOBAL rpl_semi_sync_slave_enabled = 1; #啟用半同步
mysql> STOP SLAVE #關(guān)閉復(fù)制線程
mysql> START SLAVE #開啟復(fù)制線程
mysql> show status like 'Rpl_semi_sync_slave_status'; #查看是否在運(yùn)行
mysql> show variables like '%Rpl%'; #查看和半同步相關(guān)的服務(wù)器變量
rpl_semi_sync_master_enabled #是否啟用半同步
rpl_semi_sync_master_timeout #等待超時(shí)時(shí)間
rpl_semi_sync_master_wait_for_slave_count
#需要等待多少個(gè)slave應(yīng)答,才能返回給客戶端
mysql> show status like '%Rpl_semi%'; #半同步狀態(tài)
Rpl_semi_sync_master_clients #當(dāng)前半同步復(fù)制從的個(gè)數(shù)
七、和復(fù)制相關(guān)的文件
從節(jié)點(diǎn):
master.info:用于保存slave連接至master時(shí)的相關(guān)信息(賬號(hào),密碼,服務(wù)器地址,復(fù)制的二進(jìn)制文件等)
relay-log.info:保存當(dāng)前slave節(jié)點(diǎn)上已經(jīng)復(fù)制到的二進(jìn)制文件位置,和relay-log的位置
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比塔河網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式塔河網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋塔河地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
分享題目:mysql主從和mysql主主和半同步復(fù)制-創(chuàng)新互聯(lián)
分享路徑:
http://weahome.cn/article/pechi.html