mySql主從同步復(fù)制(log-bin日志)

環(huán)境

(主)環(huán)境 :  linux(centos 7.0.2)  Mysql(5.6.37)  IP:192.168.1.3
(從)環(huán)境 :  linux(centos 7.0.2)   Mysql(5.6.36)  IP:192.168.1.4

隨便說說(也可忽略)

為了配置準(zhǔn)確無誤,先將權(quán)限氓鄙、防火墻等等處理
1诚隙、關(guān)閉windows、linux防火墻:
windows:控制面板->防火墻->打開或關(guān)閉Windows防護(hù)墻關(guān)閉Windows防火墻赎懦。
linux:service iptables stop 如果不行雀鹃,參考centos下關(guān)閉防火墻和Selinux
2、權(quán)限
linux授權(quán)遠(yuǎn)程訪問(2句話):

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'  IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH   PRIVILEGES; 

正文開始

主環(huán)境配置

1.修改mysql的配置文件  my.cnf  my.ini  我的配置文件路徑是  /etc/my.cnf
   [mysqld]
   log-bin=mysql-bin    #(必須配置)   啟用二進(jìn)制日志
   server-id=1          #(必須配置)    為本臺(tái)服務(wù)器配置唯一的Server ID
   binlog-do-db=aco_game_server #(可選配置)要同步的數(shù)據(jù)庫(kù)名励两,要同步多個(gè)數(shù)據(jù)庫(kù)黎茎,就多加幾個(gè)replicate-db-db=數(shù)據(jù)庫(kù)名
   binlog-ignore-db=mysql  #(可選配置)//要忽略的數(shù)據(jù)庫(kù)
#二進(jìn)制日志自動(dòng)刪除的天數(shù),默認(rèn)值為0,表示“沒有自動(dòng)刪除”伐蒋,啟動(dòng)時(shí)和二進(jìn)制日志循環(huán)時(shí)可能刪除  
expire_logs_days = 7    
2.添加從庫(kù)權(quán)限賬號(hào)
  mysql -uroot -p
  CREATE USER 'mysync'@'116.62.126.1' IDENTIFIED BY 'abC123456##'; #創(chuàng)建用戶
  GRANT REPLICATION SLAVE ON *.* TO 'mysync'@'116.62.126.1';#分配權(quán)限
  flush privileges;   #刷新權(quán)限

3.重啟主服務(wù)器
  /bin/systemctl restart mysqld.service(centos)  
  /bin/systemctl restart mysql.service(ubuntu)

4.查看主服務(wù)器狀態(tài)
 show master status;

從環(huán)境配置

1.修改mysql的配置文件  my.cnf  my.ini  我的配置文件路徑是  /etc/my.cnf
   [mysqld]
   log-bin=mysql-bin    #(必須配置)   啟用二進(jìn)制日志
   server-id=2          #(必須配置)    為本臺(tái)服務(wù)器配置唯一的Server ID
   replicate-do-db=mstest  #(可選配置)#在master端不指定binlog-do-db工三,在slave端用replication-do-db來過濾,要同步多個(gè)數(shù)據(jù)庫(kù)先鱼,就多加幾個(gè)replicate-db-db=數(shù)據(jù)庫(kù)名
   binlog-ignore-db=mysql #(可選配置)//要忽略的數(shù)據(jù)庫(kù)
   relay-log=mysqld-relay-bin #//啟用中繼日志relay log

2.配置連接主服務(wù)器的信息
  change master to 
  master_host='47.111.188.1',
  master_user='mysync',
  master_password='abC123456##',
  master_log_file='mysql-bin.000002', 
  Master_Port=3306,
  master_log_pos=154;


  flush privileges;     #刷新權(quán)限
  start slave;

3.重啟從服務(wù)器
  /bin/systemctl restart mysqld.service(centos)  
  /bin/systemctl restart mysql.service(ubuntu)

 4.查看從服務(wù)器狀態(tài)
  show slave status \G;

到此可以進(jìn)行主從測(cè)試了俭正。

注:在本次實(shí)驗(yàn)中,由上述my.cnf配置文件可得知焙畔,主從同步針對(duì)的數(shù)據(jù)庫(kù)(除了mysql,sys,information_schema,performance_schema這些以外)的其它所有數(shù)據(jù)庫(kù)都會(huì)進(jìn)行同步(含數(shù)據(jù)庫(kù)掸读、表、數(shù)據(jù)等)

1宏多、如當(dāng)前數(shù)據(jù)庫(kù)情況如下:

image

2儿惫、在master主庫(kù)容器中,創(chuàng)建數(shù)據(jù)庫(kù)master_demo伸但,并在此庫(kù)下創(chuàng)建表userinfo肾请,并插入一條記錄

create database master_demo;
use master_demo;
create table userinfo(username varchar(50),age int);
insert into userinfo values('Tom',18);
image

3、此時(shí)更胖,進(jìn)入從庫(kù)容器中铛铁,查看:

image

確實(shí)已經(jīng)將在master主庫(kù)新建的數(shù)據(jù)庫(kù)和表記錄都同步過來了隔显。

既然是主從同步,那反過來驗(yàn)證一下饵逐,在從庫(kù)下插入記錄后括眠,會(huì)不會(huì)同步到主庫(kù)中來呢?

在從庫(kù)上操作插入記錄:

insert into userinfo values('slave',20);

查看:

image

切到master主庫(kù)中倍权,查看:

image

發(fā)現(xiàn)在master主庫(kù)中掷豺,還是只有一條記錄,說明與預(yù)期設(shè)想的一樣薄声,在從庫(kù)中插入記錄当船,是不會(huì)同步到master主庫(kù)中來的

再來一波,在主庫(kù)master上奸柬,插入新記錄:

insert into userinfo values('master',25);
image

在從庫(kù)中生年,查看

image

發(fā)現(xiàn)在master主庫(kù)中新加入的master記錄婴程,在從庫(kù)中同步過來了廓奕。

提示:

主服務(wù)器:
提示1:如果你不配置server-id或者配置值為0,那么主服務(wù)器將拒絕所有從服務(wù)器的連接档叔。
提示2:在使用InnoDB的事務(wù)復(fù)制桌粉,為了盡可能持久和數(shù)據(jù)一致,你應(yīng)該在my.cnf里配置innodb_flush_log_at_trx_commit=1 和 sync_binlog=1衙四;
For the greatest possible durability and consistency in a replication setup using InnoDB with transactions, you should useinnodb_flush_log_at_trx_commit=1 and sync_binlog=1 in the master my.cnf file.
提示3:確保主服務(wù)器里的skip-networking選項(xiàng)未啟用铃肯,如果網(wǎng)絡(luò)被禁用,你的從服務(wù)器將不能與主服務(wù)器通信并且復(fù)制失敗传蹈。
從服務(wù)器:
提示1:如果有多個(gè)從服務(wù)器押逼,每個(gè)服務(wù)器的server-id不能重復(fù),跟IP一樣是唯一標(biāo)識(shí)惦界,如果你沒設(shè)置server-id或者設(shè)置為0挑格,則從服務(wù)器不會(huì)連接到主服務(wù)器之众。
提示2:一般你不需要在從服務(wù)器上啟用二進(jìn)制日志拐纱,如果你在從服務(wù)器上啟用二進(jìn)制日志溪食,那你可用它來做數(shù)據(jù)備份和崩潰恢復(fù)斤程,或者做更復(fù)雜的事情(比如這個(gè)從服務(wù)器用來當(dāng)作其它從服務(wù)器的主服務(wù)器)

FAQ

在搭建mysql主主復(fù)制的時(shí)候衅码,創(chuàng)建一個(gè)新的具有replicaion權(quán)限的新用戶漂羊,剛開始的操作如下: 
mysql> GRANT REPLICATION SLAVE ON test.* TO ‘server01’@’%’ IDENTIFIED BY ‘server01’; 
會(huì)提示錯(cuò)誤:ERROR 1221 (HY000): Incorrect usage of DB GRANT and GLOBAL PRIVILEGES

錯(cuò)誤的原因是因?yàn)楹罂兀瑀eplication權(quán)限是一個(gè)全局權(quán)限匿级,不可以指定在某一個(gè)庫(kù)上狂窑,所以媳板,把創(chuàng)建用戶語(yǔ)句更改為如下即可:

mysql> GRANT REPLICATION SLAVE ON . TO ‘server01’@’192.168.40.129’ IDENTIFIED BY ‘568888’; 
Query OK, 0 rows affected (0.00 sec)

ok,一切正常泉哈,但是蛉幸,為了安全起見到旦,在創(chuàng)建新的用戶的時(shí)候,最好指定登陸地址巨缘,不然別人拿著你的賬號(hào)就要干壞事兒了添忘,雖然這個(gè)賬號(hào)只具備replication權(quán)限,但是也是具有危險(xiǎn)性的若锁。所以搁骑,最后的語(yǔ)句更改為:

mysql> GRANT REPLICATION SLAVE ON . TO ‘server01’@’192.168.40.129’ IDENTIFIED BY ‘568888’; 
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges; 
Query OK, 0 rows affected (0.01 sec)

報(bào)錯(cuò)ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository
解決辦法:

reset slave;
start slave;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市又固,隨后出現(xiàn)的幾起案子仲器,更是在濱河造成了極大的恐慌,老刑警劉巖仰冠,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件乏冀,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡洋只,警方通過查閱死者的電腦和手機(jī)辆沦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來识虚,“玉大人肢扯,你說我怎么就攤上這事〉4福” “怎么了蔚晨?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)肛循。 經(jīng)常有香客問我铭腕,道長(zhǎng),這世上最難降的妖魔是什么多糠? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任累舷,我火速辦了婚禮,結(jié)果婚禮上熬丧,老公的妹妹穿的比我還像新娘笋粟。我一直安慰自己,他們只是感情好析蝴,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布害捕。 她就那樣靜靜地躺著,像睡著了一般闷畸。 火紅的嫁衣襯著肌膚如雪尝盼。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天佑菩,我揣著相機(jī)與錄音盾沫,去河邊找鬼裁赠。 笑死,一個(gè)胖子當(dāng)著我的面吹牛赴精,可吹牛的內(nèi)容都是我干的佩捞。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蕾哟,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼一忱!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起谭确,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤帘营,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后逐哈,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體芬迄,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年昂秃,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了禀梳。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡械蹋,死狀恐怖出皇,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情哗戈,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布荷科,位于F島的核電站唯咬,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏畏浆。R本人自食惡果不足惜胆胰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望刻获。 院中可真熱鬧蜀涨,春花似錦、人聲如沸蝎毡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)沐兵。三九已至别垮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間扎谎,已是汗流浹背碳想。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工烧董, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人胧奔。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓逊移,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親龙填。 傳聞我的和親對(duì)象是個(gè)殘疾皇子螟左,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容