溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何進(jìn)行mysql數(shù)據(jù)庫主從同步中數(shù)據(jù)庫同步配置

發(fā)布時(shí)間:2021-10-25 16:52:06 來源:億速云 閱讀:125 作者:柒染 欄目:數(shù)據(jù)庫

這篇文章給大家介紹如何進(jìn)行mysql數(shù)據(jù)庫主從同步中數(shù)據(jù)庫同步配置,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

背景: 最近有一個(gè)mysql數(shù)據(jù)庫同步的需求,我用了mysql主從同步的方法來實(shí)現(xiàn)。下面把步驟記錄一下。

環(huán)境和拓?fù)?/strong>

操作系統(tǒng):Centos6.6 X64

mysql版本:5.1.73

Master: 10.6.1.210

Slave:  10.6.1.211

如何進(jìn)行mysql數(shù)據(jù)庫主從同步中數(shù)據(jù)庫同步配置

需求: 實(shí)現(xiàn)Master上test庫同步到Slave上,但是禁止同步該庫下的AA表

1.配置Master上的my.cnf

#vim  /etc/my.cnf 添加內(nèi)容到[mysqld]下,設(shè)定只同步test 數(shù)據(jù)庫:

[mysqld]

log-bin=mysql-bin

binlog_format=mixed

binlog_do_db=test

server-id=1

2.配置Slave上的my.cnf

#vim  /etc/my.cnf

添加內(nèi)容到[mysqld]下:

log-bin=mysql-bin

binlog_format=mixed

server-id=10

relay-log =relay-bin

log_slave_updates=1

replicate_ignore_table=AA(忽略同步某個(gè)表)

3.在Master中建立一個(gè)備份帳戶:每個(gè)slave使用標(biāo)準(zhǔn)的MySQL用戶名和密碼連接Master,用戶名的密碼都會(huì)存儲(chǔ)在文本文件master.info。進(jìn)行復(fù)制操作的用戶會(huì)授予REPLICATION   SLAVE 權(quán)限。

命令如下:

#建立一個(gè)帳戶repluser,并且只能允許10.6.1.211這個(gè)主機(jī)來登陸,密碼是123456。

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

QueryOK,0 rows affected(0.00sec)

mysql>flush privileges;

QueryOK,0 rows affected(0.00sec)

4.拷貝數(shù)據(jù),保持?jǐn)?shù)據(jù)庫內(nèi)數(shù)據(jù)一致,新安裝可以忽略此步驟。

備份Master上的test庫,然后復(fù)制到從服務(wù)器上.

#mysqldump -u root -p password123   test>/tmp/test.sql

將導(dǎo)出的數(shù)據(jù)庫復(fù)制到從服務(wù)器上。

#scp /tmp/test.sql root@10.6.1.211:/tmp/

在Slave上導(dǎo)入新的test數(shù)據(jù)庫。 登陸從后運(yùn)行

#mysql -u root -p password123 test</tmp/test.sql

5.重啟mysql服務(wù),主從server均要重啟。

#service mysql restart

6.查看Master數(shù)據(jù)庫上的bin文件以及時(shí)間點(diǎn). 登錄Master服務(wù)器的mysql  后執(zhí)行:

mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000015 |     2474 | test         |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

此處,bin文件為mysql-bin.000015,節(jié)點(diǎn)為2474。

7.啟動(dòng)從服務(wù)器的中繼日志,登陸從服務(wù)器的mysql 后執(zhí)行以下命令,標(biāo)紅部分為剛才在主服務(wù)器上查詢到的bin  文件以及節(jié)點(diǎn)信息:

mysql>change master to master_host='10.6.1.210',master_user='repluser',

master_password='123456',master_log_file='mysql-bin.000015',master_log_pos=2474,

master_connect_retry=5

QueryOK,0 rows affected(0.03sec)

#開啟從服務(wù)器節(jié)點(diǎn)的復(fù)制進(jìn)程,實(shí)現(xiàn)主從復(fù)制;

mysql>start slave;

#查看從服務(wù)器狀態(tài),主要關(guān)注IO線程和SQL  線程的開啟狀況:

mysql>show slave status \G


Slave_IO_Running:Yes            #IO thread  是否運(yùn)行

Slave_SQL_Running:Yes         #SQL thread是否運(yùn)行

8.查看主從服務(wù)器上的線程狀態(tài)

主服務(wù)器:

mysql>show processlist \G

State: Has sent all binlog to slave; waiting for binlog to be updated

從服務(wù)器

mysql>show processlist \G

State: Has read all relay log; waiting for the slave I/O thread to update it

至此,mysql數(shù)據(jù)庫主從同步復(fù)制配置完成.

驗(yàn)證

1.  在Master上的test庫下新建一個(gè)test表.   插入記錄,然后看看是否同步到了Slave上。

Master上建表

mysql> CREATE TABLE `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ;

Master上插入記錄

mysql>insert into test(id,name) values(1,'steven');

mysql> select * from test;
+----+--------+
| id | name   |
+----+--------+
|  1 | steven |
+----+--------+
1 row in set (0.00 sec)

Slave上查看是否同步過去.

mysql> select * from test;
+----+--------+
| id | name   |
+----+--------+
|  1 | steven |
+----+--------+
1 row in set (0.00 sec)

2. 在Master上的test庫下新建一個(gè)AA表.   插入記錄,然后看看是否同步到了Slave上。

在Master上查詢AA表.

mysql> select * from AA;
+----+--------+
| id | name   |
+----+--------+
|  1 | Angelababy |
+----+--------+
1 row in set (0.00 sec)


Slave上查詢AA記錄是空.

mysql> select * from AA;
Empty set (0.00 sec)


關(guān)于如何進(jìn)行mysql數(shù)據(jù)庫主從同步中數(shù)據(jù)庫同步配置就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI