Mysql主從同步

? mysql主從呢栏妖,聽(tīng)就聽(tīng)得多了應(yīng)該不難,但動(dòng)手做還是第一次,做起來(lái)發(fā)現(xiàn)還是出了點(diǎn)小問(wèn)題耽誤了一下攒驰,這里做一下記錄。

先記錄問(wèn)題:

slave_io_running: no

解決方法:

1故爵、查mysql的error.log日志

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.

原因分析:

mysql 5.6的復(fù)制引入了uuid的概念玻粪,各個(gè)復(fù)制結(jié)構(gòu)中的server_uuid得保證不一樣隅津,但是查看到直接copy? data文件夾后server_uuid是相同的,show variables like '%server_uuid%';

解決方法:

找到data文件夾下的auto.cnf文件劲室,修改里面的uuid值伦仍,保證各個(gè)db的uuid不一樣,重啟db即可

2很洋、配置文件my.cnf里面server.id一樣

原因分析:

和server_uuid類似充蓝,servier_id也得保證不一樣

解決方法:

找到my.cnf配置文件中的server_id,修改從庫(kù)的server_id保證和復(fù)制結(jié)構(gòu)中的其他db不一樣喉磁,重啟db即可

3谓苟、在配置slave同步時(shí)因?yàn)閟lave訪問(wèn)master沒(méi)有權(quán)限導(dǎo)致;

注意用戶權(quán)限

4协怒、master上的mysql-bin.xxxxxx文件全被誤刪除了涝焙;

解決方法:

重建主從

master:

重啟master庫(kù):service mysqld restart

mysql> show master status;

slave:

mysql> slave stop;

mysql> change master to Master_Log_File='mysql-bin.000001',Master_Log_Pos=98;

mysql> slave start;


一、基礎(chǔ)環(huán)境

Centos6.5版本

master:192.168.2.52

slave: 192.168.2.65

注意下面幾點(diǎn):

1)防火墻開(kāi)放3306端口孕暇。

2)關(guān)閉selinux仑撞。

3)同步前,雙方數(shù)據(jù)庫(kù)中需要同步的數(shù)據(jù)要保持一致妖滔。這樣隧哮,同步環(huán)境實(shí)現(xiàn)后,再次更新的數(shù)據(jù)就會(huì)如期同步了座舍。

二近迁、搭建過(guò)程

在master上面新建庫(kù)測(cè)試,這里只同步一個(gè)庫(kù)

mysql> CREATE DATABASE center CHARACTER SET utf8 COLLATE utf8_general_ci;

Query OK, 1 row affected (0.00 sec)

mysql> use center;

Database changed

mysql> create table if not exists users (id int(10) PRIMARY KEY AUTO_INCREMENT,name varchar(50) NOT NULL);

Query OK, 0 rows affected (0.02 sec)

mysql> insert into users values(1,"zhangsan"),(2,"lisi");

Query OK, 2 rows affected (0.00 sec)

Records: 2? Duplicates: 0? Warnings: 0

mysql> select * from users;

+----+-----------+

| id | name? ? ? |

+----+-----------+

|? 1 |? zhangsan |

|? 2 |? ? lisi? |

+----+-----------+

2 rows in set (0.00 sec)

下面是master數(shù)據(jù)庫(kù)上的操作:

1)設(shè)置master數(shù)據(jù)庫(kù)的my.cnf文件(在[mysqld]配置區(qū)域添加下面內(nèi)容)

[root@master ~]# vim /usr/local/mysql/my.cnf

server-id=1? ? ? ? #數(shù)據(jù)庫(kù)唯一ID簸州,主從的標(biāo)識(shí)號(hào)絕對(duì)不能重復(fù)鉴竭。

log-bin=mysql-bin? ? #開(kāi)啟bin-log,并指定文件目錄和文件名前綴

binlog-do-db=center? #需要同步的數(shù)據(jù)庫(kù)岸浑。如果是多個(gè)同步庫(kù)搏存,就以此格式另寫幾行即可。如果不指明對(duì)某個(gè)具體庫(kù)同步矢洲,就去掉此行璧眠,表示同步所有庫(kù)(除了ignore忽略的庫(kù))。

binlog-ignore-db=mysql? #不同步mysql系統(tǒng)數(shù)據(jù)庫(kù)读虏。如果是多個(gè)不同步庫(kù)责静,就以此格式另寫幾行;也可以在一行盖桥,中間逗號(hào)隔開(kāi)灾螃。

sync_binlog = 1? ? ? #確保binlog日志寫入后與硬盤同步

binlog_checksum = none? #跳過(guò)現(xiàn)有的采用checksum的事件,mysql5.6.5以后的版本中binlog_checksum=crc32,而低版本都是binlog_checksum=none

binlog_format = mixed? #bin-log日志文件格式揩徊,設(shè)置為MIXED可以防止主鍵重復(fù)腰鬼。

2)導(dǎo)出master數(shù)據(jù)庫(kù)嵌赠,導(dǎo)入到slave數(shù)據(jù)庫(kù)中。保證雙方在同步環(huán)境實(shí)現(xiàn)前的數(shù)據(jù)一致熄赡。

導(dǎo)出數(shù)據(jù)庫(kù)之前先鎖定數(shù)據(jù)庫(kù)

mysql> flush tables with read lock;? ? #數(shù)據(jù)庫(kù)只讀鎖定命令姜挺,防止導(dǎo)出數(shù)據(jù)庫(kù)的時(shí)候有數(shù)據(jù)寫入。unlock tables命令解除鎖定

mysqldump -uroot -p密碼 center > /opt/center.sql

scp center.sql root@192.168.2.65:/opt/ #將導(dǎo)出的sql文件上傳到slave機(jī)器上

3)設(shè)置數(shù)據(jù)同步權(quán)限

mysql> grant replication slave,replication client on *.* to slave@'192.168.2.65' identified by "123456";

Query OK, 0 rows affected (0.02 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

4)查看主服務(wù)器master狀態(tài)(注意File與Position項(xiàng)彼硫,從服務(wù)器需要這兩項(xiàng)參數(shù))

mysql> show master status;

+------------------+----------+--------------+------------------+-------------------+

| File? ? ? ? ? ? | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-------------------+

| mysql-bin.000009 |? ? ? 721 |? center? ? ? |? ? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ? |

+------------------+----------+--------------+------------------+-------------------+

1 row in set (0.01 sec)


下面是slave數(shù)據(jù)庫(kù)上的操作:

1)設(shè)置slave數(shù)據(jù)庫(kù)的my.cnf配置文件

[root@master ~]# vim /usr/local/mysql/my.cnf

.......

server-id=2? #設(shè)置從服務(wù)器id炊豪,必須于主服務(wù)器不同

log-bin=mysql-bin? #啟動(dòng)MySQ二進(jìn)制日志系統(tǒng)

replicate-do-db=center? #需要同步的數(shù)據(jù)庫(kù)名。如果不指明同步哪些庫(kù)拧篮,就去掉這行词渤,表示所有庫(kù)的同步(除了ignore忽略的庫(kù))。

replicate-ignore-db=mysql? #不同步mysql系統(tǒng)數(shù)據(jù)庫(kù)

slave-skip-errors = all? #跳過(guò)所有的錯(cuò)誤錯(cuò)誤他托,繼續(xù)執(zhí)行復(fù)制操作

2)在slave數(shù)據(jù)庫(kù)中導(dǎo)入從master傳過(guò)來(lái)的數(shù)據(jù)掖肋。

mysql -uroot -p密碼 -e "create database if not exists center;"

mysql -uroot -p密碼 center < /opt/center.sql

3)配置主從同步指令

mysql> stop slave;? #執(zhí)行同步前,要先關(guān)閉slave

mysql> change? master to master_host='192.168.2.52',master_user='slave',master_password='123456',master_log_file='mysql-bin.000009',master_log_pos=721;

mysql> start slave;

mysql> show slave status \G;

.......

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.2.52

Master_User: slave

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000009

Read_Master_Log_Pos: 721

Relay_Log_File: mysql-relay-bin.000009

Relay_Log_Pos: 721

Relay_Master_Log_File: mysql-bin.000009

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB: center

Replicate_Ignore_DB: mysql

.............

Seconds_Behind_Master: 0

如上赏参,當(dāng)IO和SQL線程的狀態(tài)均為Yes志笼,則表示主從已實(shí)現(xiàn)同步了!



下面測(cè)試下Mysql主從同步的效果

現(xiàn)在master數(shù)據(jù)庫(kù)上寫入新數(shù)據(jù)

mysql> unlock tables;? ? #解鎖把篓,否則新數(shù)據(jù)無(wú)法寫入

mysql> insert into center.users values(3,"test");

Query OK, 1 row affected (0.00 sec)

然后在slave數(shù)據(jù)庫(kù)上查看纫溃,發(fā)現(xiàn)master上新寫入的數(shù)據(jù)已經(jīng)同步過(guò)來(lái)了

mysql> select * from center.users;

+-----+-----------+

| id? | name? ? ? |

+-----+-----------+

|? 1 |? zhangsan |

|? 2 |? lisi? ? |

|? 3 |? test? ? |

+-----+-----------+

3 rows in set (0.00 sec)

至此,主從同步環(huán)境已經(jīng)實(shí)現(xiàn)韧掩!


參考網(wǎng)址:http://www.cnblogs.com/kevingrace/p/6256603.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末紊浩,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子疗锐,更是在濱河造成了極大的恐慌坊谁,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件滑臊,死亡現(xiàn)場(chǎng)離奇詭異口芍,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)雇卷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門鬓椭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人关划,你說(shuō)我怎么就攤上這事小染。” “怎么了贮折?”我有些...
    開(kāi)封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵裤翩,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我脱货,道長(zhǎng)岛都,這世上最難降的妖魔是什么律姨? 我笑而不...
    開(kāi)封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任振峻,我火速辦了婚禮臼疫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘扣孟。我一直安慰自己烫堤,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布凤价。 她就那樣靜靜地躺著鸽斟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪利诺。 梳的紋絲不亂的頭發(fā)上富蓄,一...
    開(kāi)封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音慢逾,去河邊找鬼立倍。 笑死,一個(gè)胖子當(dāng)著我的面吹牛侣滩,可吹牛的內(nèi)容都是我干的口注。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼君珠,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼寝志!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起策添,我...
    開(kāi)封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤材部,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后唯竹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體乐导,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年摩窃,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了兽叮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡猾愿,死狀恐怖鹦聪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蒂秘,我是刑警寧澤泽本,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站姻僧,受9級(jí)特大地震影響规丽,放射性物質(zhì)發(fā)生泄漏蒲牧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一赌莺、第九天 我趴在偏房一處隱蔽的房頂上張望冰抢。 院中可真熱鬧,春花似錦艘狭、人聲如沸挎扰。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)遵倦。三九已至,卻和暖如春官撼,著一層夾襖步出監(jiān)牢的瞬間梧躺,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工傲绣, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留掠哥,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓斜筐,卻偏偏與公主長(zhǎng)得像龙致,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子顷链,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

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

  • 簡(jiǎn)介 通常數(shù)據(jù)庫(kù)的主從同步可用作數(shù)據(jù)備份目代,也可以用來(lái)解決數(shù)據(jù)庫(kù)訪問(wèn)的熱點(diǎn)問(wèn)題。通過(guò)讀寫分離(主庫(kù)寫嗤练,從庫(kù)讀)的方式...
    eriolchan閱讀 1,645評(píng)論 0 1
  • 主從同步 第一篇文章說(shuō)過(guò)榛了,初始版本的系統(tǒng)一直單庫(kù)運(yùn)行,所有的讀煞抬、寫霜大,以及數(shù)據(jù)存儲(chǔ)都放在了同一臺(tái)dbserver中。...
    AlanKim閱讀 517評(píng)論 1 7
  • 一革答、 十四年前战坤,姜國(guó)城破。 周天子登基下令分封七十一諸侯國(guó)残拐,于周初之時(shí)封古姜國(guó)途茫。姜國(guó)建國(guó)短短六十年,雖說(shuō)君主勤政愛(ài)...
    江伐檀閱讀 267評(píng)論 0 1
  • 公司:寧波大發(fā)化纖有限公司 姓名:馮玉停 期數(shù):六項(xiàng)精進(jìn)224期感謝二組學(xué)員溪食,234期感謝三組志工囊卜,260期感謝一...
    塵埃wyzh閱讀 224評(píng)論 0 0