您好,登錄后才能下訂單哦!
一、環境
系統:centos6.5
mysql版本:mysql5.6
master服務器:192.168.1.21
slave服務器: 192.168.1.100
master寫 slave讀
二、實現mysql主從復制
在master的/etc/my.cnf中[mysqld]字段下加入如下內容:
server_id=1
log_bin=mysql-bin
binlog_format=mixed
relay-log=relay-bin
relay-log-index=slave-relay-bin.index
auto-increment-incremen=2
auto-increment-offset=1
然后重啟mysql服務:service mysqld restart
2. 在slave的/etc/my.cnf中[mysqld]字段下加入如下內容:
server_id=2
log_bin=mysql-bin
binlog_format=mixed
relay-log=relay-bin
relay-log-index=slave-relay-bin.index
auto-increment-incremen=2
auto-increment-offset=2
然后重啟mysql服務:service mysqld restart
3. 然后在master中授權用戶并查看二進制日志狀態信息
4.在slave端建立同步連接,并執行start slave; 再查看狀態:
change master to master_host='192.168.1.21',master_user='zhangfei',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=1489;
當看到上圖兩個yes時為主從復制成功。
三、實現讀寫分離
先安裝Java
2.安裝amoeba
下載地址:wget https://sourceforge.net/projects/amoeba/files/Amoeba%20for%20mysql/3.x/amoeba-mysql-3.0.5-RC-distribution.zip
1) 在master中給amoeba授權一個mysql遠程賬戶
mysql> GRANT ALL PRIVILEGES ON *.* TO 'amoeba'@'192.168.1.%' IDENTIFIED BY 'amoeba' WITH GRANT OPTION;
2)解壓amoeba包:
3) 配置Amoeba下的dbServers.xml:
vi /usr/local/amoeba/conf/dbServers.xml
4) 圖中192.168.5.10換成192.168.1.21
192.168.5.20換成192.168.1.100
5)編輯amoeba.xml;
vi /usr/local/amoeba/conf/amoeba.xml
6)編輯jvm.properties:
vim /usr/local/amoeba/jvm.properties
7) 啟動amoeba:
/usr/local/amoeba/bin/launcher > /var/log/amoeba.log 2>&1 &
此時amoeba已啟動成功。
四、測試讀寫分離
1.測試時先關閉主從復制:在slave端執行 stop slave
2.使用mysql -uroot -p123456 -h292.168.1.21 -P8806 登陸并在表中插入一條數據
3.分別登陸master和slave 發現只有master有新插入的數據而slave沒有
此時寫分離測試成功。
4.登陸salve的mysql在表中插入一條新數據
5.使用mysql -uroot -p123456 -h292.168.1.21 -P8806 登陸
6.經查詢表中查到slave端新添加的數據
此時讀分離測試成功。
至此實現mysql主從復制+讀寫分離。
本文本著簡單直接配置成功為目的,如有疑問可以留言。
2 我是
33
2
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。