資料庫讀寫分離,主從同步實現方法

listenon發表於2018-10-16

1.開啟mysql資料庫配置檔案

vim /etc/my.cnf複製程式碼

2.在主伺服器master上配置開啟Binary log,主要是在[mysqld]下面新增:

server-id=1
log-bin=master-bin
log-bin-index=master-bin.index複製程式碼

3.重啟mysql服務

service mysql restart複製程式碼

4.檢查配置效果,進入主資料庫並執行

mysql> SHOW MASTER STATUS;
複製程式碼

資料庫讀寫分離,主從同步實現方法

5.配置從伺服器的 my.cnf

server-id=2    //server-id 一定要和主庫的不同
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin複製程式碼

6.重啟mysql服務

service mysql restart複製程式碼

7.接下來配置兩個資料庫的關聯

建立一個操作主從同步的資料庫使用者,切換到主資料庫執行:
mysql> create user repl;
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'從xxx.xxx.xxx.xx' IDENTIFIED BY '123123';
mysql> flush privileges;

建立了一個資料庫使用者repl,密碼是123123, 在從伺服器使用repl這個賬號和主伺服器連線的時候,就賦予其
REPLICATION SLAVE的許可權, *.* 表面這個許可權是針對主庫的所有表的,其中xxx就是從伺服器的ip地址。 
複製程式碼

8.進入從資料庫後執行

mysql> change master to master_host='主xxx.xxx.xxx.xx',master_port=3306,master_user='repl',master_password='mysql',master_log_file='master-bin.000001',master_log_pos=0;
這裡面的xxx是主伺服器ip,同時配置埠,repl代表訪問主資料庫的使用者
複製程式碼

9.從資料庫執行start slave啟動配置

mysql> start slave;複製程式碼

10.停止主從同步的命令為

mysql> stop slave;複製程式碼

11.檢視狀態命令,\G表示換行檢視

mysql> show slave status \G; 複製程式碼


相關文章