a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁(yè) > 數(shù)據(jù)庫(kù) > MySQL > 正文

Mysql 的數(shù)據(jù)庫(kù)復(fù)制功能

2019-09-08 23:26:41
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
Mysql 數(shù)據(jù)庫(kù)相信大家已經(jīng)投入了生產(chǎn)使用。很多人都將他和 PHP 集成在 Apache 中,為WebSite 服務(wù)。的確,他們?cè)赪ebSite 中的應(yīng)用比較多,而且PhpMyAdmin 又是一個(gè)PHP+Mysql 的最好應(yīng)用例子。
那么Mysql 能不能實(shí)現(xiàn)兩個(gè)系統(tǒng)之間通過(guò)TCP/IP去復(fù)制數(shù)據(jù)庫(kù)?能不能實(shí)現(xiàn)實(shí)時(shí)復(fù)制呢?也就是說(shuō)能不能實(shí)現(xiàn)同步(Synchronization)的問(wèn)題。先概括介紹一下Mysql 的Replication Database功能。
復(fù)制(Replication)類(lèi)似于拷貝數(shù)據(jù)庫(kù)到另一臺(tái)服務(wù)器上,但它是通過(guò)定義Master 和Slave的關(guān)系去實(shí)時(shí)地保證兩個(gè)數(shù)據(jù)庫(kù)的完全同步。這個(gè)功能在Mysql的3.23版中開(kāi)始出現(xiàn)。
下面大家一起來(lái)測(cè)試一下Mysql的Replication 功能。

作者的平臺(tái)是:
Master:Mysql 3.23.53-log on FreeBSD 4.7 Release IP:192.168.10.100
Slave: Mysql 3.23.56-log on FreeBSD 4.8 Stable IP:192.168.10.200
1、Master 機(jī)器設(shè)置權(quán)限,賦予Slave Relication 權(quán)利,并打包要同步的數(shù)據(jù)庫(kù)結(jié)構(gòu)。
MasterBSD# pwd
/usr/local/mysql/bin
MasterBSD#./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: 3.23.53-log

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

mysql> GRANT FILE ON *.* TO replication@192.168.10.200 IDENTIFIED BY ‘repplication’;

(賦予192.168.10.200也就是Slave 機(jī)器有File權(quán)限)
然后打包要復(fù)制的數(shù)據(jù)庫(kù)
MasterBSD# cd var
MasterBSD# tar czvf repdatabase.tar.gz repdatabase

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

2設(shè)置主服務(wù)器Master的my.cnf,啟動(dòng)Mysql服務(wù)
MasterBSD# vi /etc/my.cnf
在[mysqld]添加或修改以下的
[mysqld]
log-bin
server-id=1
sql-bin-update-same
binlog-do-db= repdatabase
針對(duì)repdatabase 庫(kù)做replication 功能
然后把Master主服務(wù)器的Mysql重啟。
MasterBSD# /usr/local/mysql/bin/mysqladmin –u root –p shutdown
MasterBSD# /usr/local/mysql/bin/safe_mysqld --user=mysql &
3、建立Slave數(shù)據(jù)庫(kù)
剛才我們?cè)贛aster中打包了repdatabase.tar.gz,它的作用就是要在Slave恢復(fù)成一樣的數(shù)據(jù)庫(kù)。先把Master 的repdatabase.tar.gz文件傳到Slave機(jī)器中去。然后
SlaveBSD# tar zxvf repdatabase.tar.gz -C /usr/local/mysql/var/
4、修改Slave服務(wù)器的my.cnf
SlaveBSD# vi /etc/my.cnf
在[mysqld]添加或修改以下的
master-host=192.168.10.100
master-user=replication
master-password=replication
master-port=3306
server-id=2
master-connect-retry=60
replicate-do-db=reldatabase    [要更新的數(shù)據(jù)庫(kù)]
log-slave-updates
5、重啟動(dòng)Slave的slave start。
SlaveBSD# /usr/local/mysql/bin/mysqladmin –u root –p shutdown
SlaveBSD# /usr/local/mysql/bin/safe_mysqld --user=mysql &
6、測(cè)試
先檢測(cè)兩個(gè)Mysql數(shù)據(jù)庫(kù)中的repdatabase是否正常。
正常情況應(yīng)該是Master和Slave 中的Mysql 都有相同的repdatabase 數(shù)據(jù)庫(kù),并且里面的數(shù)據(jù)都一樣。
然后我們測(cè)試replication 功能是否起用。
在Master中的repdatabas數(shù)據(jù)庫(kù)添加一筆數(shù)據(jù):
MasterBSD# /usr/local/mysql/bin/mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 12 to server version: 3.23.53-log

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

mysql> use repdatabase;
Database changed
mysql> INSERT INTO `rep_table` ( `name` , `num` , `selectd ` ) VALUES ('test1', '4321', 'Y');
Query OK, 1 row affected (0.00 sec)
mysql>

在Slave的數(shù)據(jù)庫(kù)中應(yīng)該也會(huì)同樣有這樣一條數(shù)據(jù)
SlaveBSD# /usr/local/mysql/bin/mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 17 to server version: 3.23.56-log
Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
mysql> select * from repdatabase.rep_table;
+--------+-----------+------------+
| name | num | selectd |
+--------+-----------+------------+
| aaa | 44444 | N |
| ddd | 111112222 | N |
| insert | 1234 | N |
| test | 12345 | N |
| test1 | 4321 | Y |    這一行就是Master插入的時(shí)候Slave 同步得回來(lái)的數(shù)據(jù)。
+--------+-----------+------------+
5 rows in set (0.01 sec)
mysql>
到此,我們的兩個(gè)數(shù)據(jù)庫(kù)replication 功能實(shí)驗(yàn)成功。

7、互為replication
在Mysql 的文檔資料中也指出了,一臺(tái)Mysql機(jī)器同樣可以作為Master也可以作為Slave的,也可以互相replication數(shù)據(jù)。

8、應(yīng)用
replication可以用在那方面呢?我的想法是,一臺(tái)Mysql生產(chǎn)機(jī)器在提供繁忙的SQL查詢,比如說(shuō)是股市的查詢,那它僅僅是作為查詢而已。那么我們就可以通過(guò)兩臺(tái)機(jī)器,提供查詢的機(jī)器為Slave,那么數(shù)據(jù)錄入的機(jī)器是Master,通過(guò)雙網(wǎng)卡去進(jìn)行,請(qǐng)看下圖:

 

MYSQL

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 日本一区二区三区四区视频 | 黄色天堂在线观看 | 欧洲精品久久久 | 黄视频网站免费观看 | av在线免费观看一区二区 | 99精品国产热久久91蜜凸 | 91精品国产综合久久久久久软件 | 欧美一级在线视频 | 97国产精品视频人人做人人爱 | 在线免费av观看 | 国产成人精品一区二区三区视频 | 成人激情视频免费观看 | 2019中文字幕在线观看 | 一区二区日韩精品 | 中文字幕亚洲区 | 成人毛片视频网站 | 一区二区三区 在线 | 最新日韩在线观看视频 | 天天天天天天天天干 | 国内精品久久久久久久97牛牛 | 国产精品亚洲成在人线 | 日韩精品极品在线观看 | 久久久久亚洲精品国产 | 国产精品久久国产精品99 gif | 99精品一级欧美片免费播放 | 求av网站 | 国产一二在线 | 亚洲乱码国产乱码精品精98午夜 | 久久草视频 | 久久久久女人精品毛片九一韩国 | 欧洲一区在线观看 | 国产高清自拍 | 自拍亚洲| 亚洲免费av电影 | 欧美精品一区二 | 久久成人免费 | 欧美精品三区 | 国产精品久久久久久久久久久久午夜片 | 成人欧美一区二区三区黑人孕妇 | 在线欧美一区 | 精品久久久久久久久久 |