真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何理解MysqlReplication

如何理解MySQL Replication,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

成都創(chuàng)新互聯(lián)專注于姑蘇網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供姑蘇營(yíng)銷型網(wǎng)站建設(shè),姑蘇網(wǎng)站制作、姑蘇網(wǎng)頁(yè)設(shè)計(jì)、姑蘇網(wǎng)站官網(wǎng)定制、微信小程序服務(wù),打造姑蘇網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供姑蘇網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

Mysql Replication

類似于從一臺(tái)服務(wù)器拷貝數(shù)據(jù)庫(kù)到另一臺(tái)服務(wù)器上,但它是通過定義Master 和Slave的關(guān)系去實(shí)時(shí)地保證兩個(gè)數(shù)據(jù)庫(kù)的完全同步,這個(gè)功能在Mysql的3.23版中開始出現(xiàn)。

Master/Slave模式備份

TestEnv:

Master:Mysql-4.1.12 on Redhat9.0 IP:192.168. 0.217

Slave: Mysql-4.1.12 on Redhat9.0 IP:192.168.10.244

1、編譯,安裝

1. #tar –zxvf Mysql-4.1.12.tar.gz

2. #cd Mysql-4.1.12

3. .#/configure –prefix=/var/eyou/mysql

4. #make

5. #make install

6. #chown –R root /var/eyou/mysql

7. # chown –R mysql /var/eyou/mysql/var

8. #chgrp –R mysql /var/eyou/mysql

9. #scripts/mysql_install_db

10. #cp support-files/my-medium.cnf /etc/my.cnf

2、Master 機(jī)器設(shè)置權(quán)限,賦予Slave機(jī)器FILE及Replication Slave權(quán)利,并打包要同步的數(shù)據(jù)庫(kù)結(jié)構(gòu)。

Master# pwd

/var/eyou/mysql/bin

Master#./mysql –u root –p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or g.

Your MySQL connection id is 2 to server version: 4.1.12

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> GRANT FILE ON *.* TO rep@192.168.0.244 IDENTIFIED BY ‘eyou’;

mysql> GRANT REPLICATION SLAVE ON *.* TO rep@192.168.0.244 IDENTIFIED BY ‘eyou’;

賦予192.168.10.244也就是Slave 機(jī)器有File權(quán)限, 這個(gè)4.1.12版對(duì)replication的權(quán)限好像做了調(diào)整,只賦予Slave機(jī)器有File權(quán)限還不行,還要給它REPLICATION SLAVE的權(quán)限才可以。

然后打包要復(fù)制的數(shù)據(jù)庫(kù)

Master# cd var

Master# tar czvf reptest.tar.gz reptest

這樣,我們得到一個(gè)reptest數(shù)據(jù)庫(kù)的打包文件reptest.tar.gz

2設(shè)置主服務(wù)器Master的my.cnf,啟動(dòng)Mysql服務(wù)

Master# vi /etc/my.cnf

在[mysqld]添加或修改以下的

[mysqld]

log-bin #打開logbin選項(xiàng)以能寫到slave的 I/O線程;

server-id=1 #表示是本機(jī)的序號(hào)為1,一般來講就是master的意思.

sql-bin-update-same

binlog-do-db= reptest #表示同步reptest數(shù)據(jù)庫(kù);

然后把Master主服務(wù)器的Mysql重啟。

Master# /var/eyou/mysql/bin/mysqladmin –u root –p shutdown

Master# /var/eyou/mysql/bin/safe_mysqld --user=mysql &

3、建立Slave數(shù)據(jù)庫(kù)

剛才在Master中打包了reptest.tar.gz,它的作用就是要在Slave恢復(fù)成一樣的數(shù)據(jù)庫(kù)。先把Master 的reptest.tar.gz文件傳到Slave機(jī)器中去。然后

Slave# tar zxvf reptest.tar.gz -C /var/eyou/mysql/var/

4、修改Slave服務(wù)器的my.cnf

Slave# vi /etc/my.cnf

在[mysqld]添加或修改以下的

master-host=192.168.10.217

master-user=rep

master-password=eyou

master-port=3306

server-id=2

master-connect-retry=60

replicate-do-db=reptest    [要更新的數(shù)據(jù)庫(kù)]

log-slave-updates

5、刪除Slave端數(shù)據(jù)庫(kù)目錄中的master.info

Slave# rm /var/eyou/mysql/var/master.info

6、重啟動(dòng)Slave的slave start。

Slave# /var/eyou/mysql/bin/mysqladmin –u root –p shutdown

Slave# /var/eyou/mysql/bin/safe_mysqld --user=mysql &

7、測(cè)試

先檢測(cè)兩個(gè)Mysql數(shù)據(jù)庫(kù)中的reptest是否正常。

正常情況應(yīng)該是Master和Slave 中的Mysql 都有相同的reptest 數(shù)據(jù)庫(kù),并且里面的數(shù)據(jù)都一樣。

然后測(cè)試replication 功能是否起用。

在Master中的reptest數(shù)據(jù)庫(kù)添加一筆數(shù)據(jù):

Master# /var/eyou/mysql/bin/mysql –u root -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or g.

Your MySQL connection id is 12 to server version: 4.1.12

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> use reptest;

Database changed

mysql> INSERT INTO rep_table VALUES ('test1', '4321', 'T',24);

Query OK, 1 row affected (0.00 sec)

mysql>

然后查看Slave機(jī)器的reptest數(shù)據(jù)庫(kù):

Slave#/var/eyou/mysql/bin/mysql –u root –p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or g.

Your MySQL connection id is 12 to server version: 4.1.12

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> use reptest;

Database changed

mysql>select * from reptable;;

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

| id | name | sex | age |

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

| test1| 4321 | T | 24 |

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

1 row in set (0.00 sec)

PS :

1,Slave機(jī)器的權(quán)限問題,不但要給slave機(jī)器File權(quán)限,還要給它REPLICATION SLAVE的權(quán)限。

2.在修改完Slave機(jī)器/etc/my.cnf之后,slave機(jī)器的mysql服務(wù)啟動(dòng)之前,記得要?jiǎng)h除掉master.info

3,在show master status 或著show slave status 不正常時(shí),看看.err是怎樣說的。

4,Slave上Mysql的Replication工作有兩個(gè)線程, I/O thread和SQL thread 。I/O 的作用是從master 3306端口上把它的binlog取過來(master在被修改了任何內(nèi)容之后,就會(huì)把修改了什么寫到自己的binlog等待slave更新),然后寫到本地的relay-log,而SQL thread則是去讀本地的relay-log,再把它轉(zhuǎn)換成本Mysql所能理解的語(yǔ)句,于是同步就這樣一步一步的完成.決定I/O thread的是/var/lib/mysql/master.info,而決定SQL thread的是/var/lib/mysql/relay-log.info.

雙向復(fù)制模式

1:

Slave 機(jī)器設(shè)置權(quán)限,賦予Master機(jī)器FILE及Replication Slave權(quán)利.

Master#./var/eyou/mysql –u root –p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or g.

Your MySQL connection id is 2 to server version: 4.1.12

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> GRANT FILE ON *.* TO rep@192.168.0.217 IDENTIFIED BY ‘eyou’;

mysql> GRANT REPLICATION SLAVE ON *.* TO rep@192.168.0.217 IDENTIFIED BY ‘eyou’;

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。


網(wǎng)站名稱:如何理解MysqlReplication
網(wǎng)站URL:http://weahome.cn/article/gcppho.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部