日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql数据库主从同步配置教程--数据库同步

發布時間:2025/4/5 数据库 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql数据库主从同步配置教程--数据库同步 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.



背景: 最近有一個mysql數據庫同步的需求,我用了mysql主從同步的方法來實現。下面把步驟記錄一下。


環境和拓撲

操作系統:Centos6.6 X64

mysql版本:5.1.73

Master: 10.6.1.210

Slave:? 10.6.1.211



需求: 實現Master上test庫同步到Slave上,但是禁止同步該庫下的AA表


1.配置Master上的my.cnf

#vim ?/etc/my.cnf 添加內容到[mysqld]下,設定只同步test 數據庫:

[mysqld]

log-bin=mysql-bin

binlog_format=mixed

binlog_do_db=test

server-id=1

?

2.配置Slave上的my.cnf

#vim ?/etc/my.cnf

添加內容到[mysqld]下:

log-bin=mysql-bin

binlog_format=mixed

server-id=10

relay-log =relay-bin

log_slave_updates=1

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

?

3.在Master中建立一個備份帳戶:每個slave使用標準的MySQL用戶名和密碼連接Master,用戶名的密碼都會存儲在文本文件master.info。進行復制操作的用戶會授予REPLICATION? ?SLAVE?權限。


命令如下:

#建立一個帳戶repluser,并且只能允許10.6.1.211這個主機來登陸,密碼是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.拷貝數據,保持數據庫內數據一致,新安裝可以忽略此步驟。


備份Master上的test庫,然后復制到從服務器上.

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

將導出的數據庫復制到從服務器上。

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

?

在Slave上導入新的test數據庫。 登陸從后運行

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


5.重啟mysql服務,主從server均要重啟。

#service mysql restart

?

6.查看Master數據庫上的bin文件以及時間點. 登錄Master服務器的mysql ?后執行:

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,節點為2474。

?

7.啟動從服務器的中繼日志,登陸從服務器的mysql 后執行以下命令,標紅部分為剛才在主服務器上查詢到的bin ?文件以及節點信息:


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)

?

#開啟從服務器節點的復制進程,實現主從復制;

mysql>start slave;

?

#查看從服務器狀態,主要關注IO線程和SQL ?線程的開啟狀況:

mysql>show slave status \G




Slave_IO_Running:Yes??????????? #IO thread ?是否運行

Slave_SQL_Running:Yes?? ? ? ? #SQL thread是否運行


8.查看主從服務器上的線程狀態

主服務器:

?

mysql>show processlist \G

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

?

從服務器

mysql>show processlist \G

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

至此,mysql數據庫主從同步復制配置完成.

?




驗證

1.? 在Master上的test庫下新建一個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庫下新建一個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)







轉載于:https://blog.51cto.com/pizibaidu/1791003

總結

以上是生活随笔為你收集整理的mysql数据库主从同步配置教程--数据库同步的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。