1. 程式人生 > 其它 >MYSQL 主從配置

MYSQL 主從配置

MySQL主從可以實現MySQL的讀寫分離,簡言之,master上進行寫操作,同步資料庫,slave上進行讀操作,可以極大的提升效能,降低伺服器負載,在此不做贅述,下面以兩臺機器來做主從配置詳解。

開始之前的準備工作:

1、準備兩臺伺服器

主資料庫 | 192.168.60.12 | master |

從資料庫 | 192.168.60.13 | slave |

2、啟動兩臺伺服器

3、關閉系統防火牆

4、保證兩臺伺服器之間可以相互ping 通

具體操作步驟如下:

第一步:在主資料庫master 上編輯mysql配置檔案,做如下操作:

注:mysql安裝方式的不同會導致mysql的配置檔案的位置不一樣,大家要根據自己的安裝位置來找配置檔案,一般預設路徑:

vim /etc/my.cnf

[mysqld]

bind_address = 0.0.0.0

server-id = 2 #IP地址最後一位

log_bin = /var/log/mysql/mysql-bin.log #開啟binlog 日誌

expire_logs_days = 10 #日誌的快取時間

max_binlog_size = 200M #日誌的最大大小

binlog_do_db = data_collection#同步的資料庫名稱

binlog_ignore_db = mysql #忽略同步的資料庫

第二步:在從資料庫slave上編輯mysql配置檔案,做如下操作:

vim /etc/my.cnf

[mysqld]

bind_address = 0.0.0.0

server-id = 23 #IP地址最後一位

expire_logs_days = 10 #日誌的快取時間

max_binlog_size = 200M #日誌的最大大小

replicate_do_db = data_collection#同步的資料庫名稱

replicate_ignore_db = mysql #忽略同步的資料庫

第三步:在主資料master上建立一個同步許可權的賬戶repl,用來同步資料,做如下操作:

mysql>CREATE USER 'repl'@'192.168.60.13' IDENTIFIED BY 'slavepass'; #建立使用者

mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.60.13' IDENTIFIED BY 'slavepass'; #分配許可權

mysql>flush privileges; #重新整理許可權

show master status; #檢視主資料庫master的狀態,不要關閉視窗先 ,不要重啟

第五步:在從資料庫slave上做如下操作:

mysql> change master to

-> master_host='192.168.60.12',

-> master_user='repl',

-> master_password='slavepass',

-> master_port=3306,

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

-> master_log_pos=73;

第六步:啟動slave
start slave;

第七步:檢視slave狀態

show slave status;

如果出現下面的提升,則mysql主從資料庫配置成功。

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

stop slave;

注:可能存在的問題:

刪除從資料庫的配置檔案auto.cnf,然後主資料重新授權,然後再change to master。