MySQL 主從配置 讀寫分離

Master配置

 

1.建立用戶:mysql

在Master MySQL上建立一個用戶‘repl’,並容許其餘Slave服務器能夠經過遠程訪問Master,經過該用戶讀取二進制日誌,實現數據同步。sql

create user repl;

2.配置用戶權限:數據庫

repl用戶必須具備REPLICATION SLAVE權限,除此以外沒有必要添加沒必要要的權限,密碼爲mysql。說明一下192.168.0.%,這個配置是指明repl用戶所在服務器,這裏%是通配符,表示192.168.0.0-192.168.0.255的Server均可以以repl用戶登錄主服務器。固然你也能夠指定固定Ip。服務器

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY '123456';

3.修改配置文件spa

找到MySQL安裝路徑修改my.cnf文件,將如下配置添加至[mysqld]節點中。rest

server-id=1
log_bin=mysql-bin
binlog-do-db=
binlog-ignore-db=

server-id=1   #設置服務器id,爲1表示主服務器,注意:若是原來的配置文件中已經有這一行,就不用再添加了。
log_bin=mysql-bin  #啓動MySQ二進制日誌系統,注意:若是原來的配置文件中已經有這一行,就不用再添加了。
binlog-do-db=  #須要同步的數據庫名,若是有多個數據庫,可重複此參數,每一個數據庫一行
binlog-ignore-db=   #不一樣步mysql系統數據庫日誌

4.重啓數據庫code

service mysql restart

5.記錄File及Positionserver

需記錄下Master的File及Position,配置Slave時會使用。blog

show master status;

 

 


 

 

 

Slave配置

1.修改配置文件

找到MySQL安裝路徑修改my.cnf文件,將如下配置添加至[mysqld]節點中。

server-id=2
log_bin=mysql-bin binlog-do-db= binlog-ignore-db=

server-id=1   #設置服務器id,爲2表示從服務器,注意:若是原來的配置文件中已經有這一行,就不用再添加了。
log_bin=mysql-bin  #啓動MySQ二進制日誌系統,注意:若是原來的配置文件中已經有這一行,就不用再添加了。
binlog-do-db=osyunweidb  #須要同步的數據庫名,若是有多個數據庫,可重複此參數,每一個數據庫一行
binlog-ignore-db=mysql   #不一樣步mysql系統數據庫

2.配置Slave

注意:MySQL 5.1.7版本以後,已經不支持把master配置屬性寫入my.cnf配置文件中了,只須要把同步的數據庫和要忽略的數據庫寫入便可。

slave stop;
change master to master_host='192.168.21.169',master_user='repl',master_password='123456',master_log_file='mysql-bin.000019' ,master_log_pos=7131;
slave start;

slave stop; #中止slave同步進程
change master to master_host='192.168.21.169',master_user='osyunweidbbak',master_password='123456',master_log_file='mysql-bin.000019' ,master_log_pos=7131; #執行同步語句。其中master_logfile及master_log_pos需從master中查詢。
slave start; #開啓slave同步進程

 3.查看狀態

SHOW SLAVE STATUS\G

Slave_IO_Running: YesSlave_SQL_Running: Yes以上這兩個參數的值爲Yes,即說明配置成功。

相關文章
相關標籤/搜索