mysql 主從同步 方法1:

本身的虛擬機環境;mysql

master:192.168.202.131sql

slave ;192.168.202.132數據庫

1、 主服務器配置服務器

一、編輯/etc/my.cnf文件在mysqld下添加如下字段ide

server-id=131 #主服務器標識,主要是惟一性,沒什麼限制測試

log-bin=mysql-bin #指定二進制日誌文件的名稱spa

binlog-do-db=mysql #須要同步的數據庫,日誌

二、保存並重啓mysql服務orm

三、設置讀鎖server

mysql> flush tables with read lock;

mysql> flush privileges;

四、查看當前二進制日誌名和偏移量值,從庫按這個點開始進行數據恢復,以前的數據須要人工同步

[root@localhost ~]# mysql -uroot -p123456

mysql> show master status;

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

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

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

| mysql-bin.000005 | 409 | mysql | | |

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

1 row in set (0.00 sec)

5.刷新日誌

mysql>flush logs; #由於刷新日誌file的位置會+1,即File變成爲:mysql-bin.000006

(不少問題出在這一步)

六、解除讀鎖

mysql> unlock tables;

七、在主服務器上爲從服務器建立一個用於同步的用戶

mysql>grant replication slave on *.* to u01@'192.168.202.%' identified by '123456';

此種方式作同步,這一步是必需要作的或則是已經受權過的,否則下面會 報錯

2、從服務器配置

一、編輯/etc/my.cnf文件在mysqld下添加如下字段

server-id=132 #從服務器標識

log-bin=mysql-bin #與主服務器一致

replicate-do-db=mysql #同步的數據庫

relay-log=relay_log #

二、保存並重啓mysql服務

三、[root@localhost ~]# mysql -uroot -p123456

mysql>slave stop;#中止slave同步進程

#執行同步語句

mysql> change master to master_host='192.168.202.131',

-> -> master_user='root',

-> -> master_password='123456',

-> -> master_log_file='mysql-bin.000006',

#保持與主服務信息一致(由於在主服務器上已經刷新,因此file位置要加1)

-> -> master_log_pos=409; #保持主服務信息一致

mysql> start slave #開啓slave同步進程

mysql> show slave status\G;

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

以上這兩個參數的值爲Yes,即說明配置成功!

3、 驗證測試

一、在主庫中新增一張表,添加測試數據

二、查看從庫中是否完成同步

相關文章
相關標籤/搜索