1. 程式人生 > >資料庫主從複製

資料庫主從複製

概述 主從複製(同步)使得修改的資料可以從一個數據庫伺服器複製到其他資料庫伺服器上,在複製資料時,一個伺服器充當主伺服器(master),其餘的伺服器充當從伺服器(slave)。只要主資料庫的二進位制日誌資料發生變化,從伺服器就會複製資料。 配圖說明: 在這裡插入圖片描述 主從伺服器配置 主伺服器配置 主庫授權一個可以進行復制(同步)操作的賬戶 :

grant all on *.* to 'mary'@'192.168.10.%'  identified by “123123”;
#授權Mary使用者使用123123密碼從192.168.10段的ip進行登入資料庫,可以使用除了grant許可權之外的所有許可權。
flush logs;#重新整理mysql的許可權表

啟用binlog日誌:

vim /etc/my.conf
      [mysqld]
      server_id=1        
      #指定主MySQL資料庫的ID
      log-bin=/data/mysql/mysql_bin     
      #啟用binglog日誌,日誌檔案儲存在/data/mysql(自行建立)
      #記得授權chown -R mysql:mysql /data/mysql

檢視主伺服器狀態

show master status;

在這裡插入圖片描述 從資料庫配置 修改配置檔案/etc/my.cnf

server-id=2    ##不能與主伺服器 一樣
relay-log=/data/mysql-binlog/mysql-relay#把中繼日誌放在那裡,自己建立。

修改許可權

chown -R mysql:mysql /data/mysql-binlog

修改從伺服器的 UUID

vim /mysql/auto.cnf #在你資料庫所在的目錄下面
server-uuid=4988e6fb-bc9f-11e8-b581-000c290b86e1 #主資料庫伺服器與從伺服器的UUID不能一樣

重新啟動服務

/usr/local/mysql57/support-files/mysql.service start

登入mysql,配置主資料庫資訊(使用本機的mary使用者登陸)

 change master to master_host='192.168.10.12',master_user='mary',master_password='123123',master_log_file='mysql-bin.000038',master_log_pos=597;
 #以使用者Mary密碼為123123登入master伺服器(192.168.10.12)追蹤二進位制日誌mysql-bin.000038從位置597開始。

開啟從服務功能

start slave;

檢視slave狀態

show slave status;

如果是以下這樣,則配置成功 在這裡插入圖片描述