Mysql主從複製、讀寫分離+MyCat資料庫中介軟體
最近搭建了 MySQL 主從 並使用MyCat作為資料庫中介軟體
版本:
Mysql 5.5.48
Linux :CentOS 6.8
MyCat : 1.4
節點:
192.168.152.11Cluster1
192.168.152.12Cluster2
192.168.152.13Cluster3
首先 在三臺節點上都安裝mysql (如何安裝 自行百度)
授權登陸:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'root' WITH GRANT OPTION;
三臺節點都授權遠端登陸
三個節點都建立資料庫 database1 、database2
----------------------------------------
配置MySQL主伺服器的my.cnf檔案
vim /etc/my.cnf
在[mysqld]下面加入如下內容
binlog-do-db=database1
binlog-do-db=database2
binlog-ignore-db=mysql
並且 開啟binlog日誌
log-bin=mysql-bin
以及Server-id
server-id = 1
如圖:
主伺服器配置OK
service mysql restart
重啟服務
進入Mysql命令列
得到:show master status\G
File: mysql-bin.000028
Position: 22285
一會要用到
配置MySQL從伺服器的my.cnf檔案
replicate-do-db=database1
replicate-do-db=database2
replicate-ignore-db=mysql
以及修改serverid
server-id = 2
另一臺從伺服器同理 ServerId 為3
重啟Mysql服務
注意:MySQL 5.1.7版本之後,已經不支援把master配置屬性寫入my.cnf配置檔案中了,只需要把同步的資料庫和要忽略的資料庫寫入即可。
Mysql命令列 進入Mysql 在 Cluster2、Cluster3上執行
slave stop; #停止slave同步程序
然後執行:
change master to master_host='192.168.152.11',master_user='root',master_password='root',master_log_file='mysql-bin.000028' ,master_log_pos=22285;
注意這裡的
master_log_file='mysql-bin.000028' ,master_log_pos=22285;
一定要對應
配置Ok後執行:
slave start; #開啟slave同步程序
開啟Slave
在執行:
SHOW SLAVE STATUS\G #檢視slave同步資訊,出現以下內容
注意檢視:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
以上這兩個引數的值為Yes,即說明配置成功!
OK主從複製搭建成功
接下來 安裝Mycat1.4 下載地址:http://www.mycat.org.cn/ 點選這裡直接下載
解壓Mycat
得到:
接下來進行配置讀寫分離
首先 :
vim wrapper.conf
配置Java路徑
然後 編輯
vim schema.xml
修改內容如下:
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://org.opencloudb/">
<schema name="database1" checkSQLschema="false" sqlMaxLimit="100" dataNode="database1"></schema>
<dataNode name="database1" dataHost="localhost1" database="database1" />
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="cluster1" url="192.168.152.11:3306" user="root" password="root">
<readHost host="cluster2" url="192.168.152.12:3306" user="root" password="root" />
<readHost host="cluster3" url="192.168.152.13:3306" user="root" password="root" />
</writeHost>
</dataHost>
</mycat:schema>
簡單說明一下:
編輯賬戶
vim server.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mycat:server SYSTEM "server.dtd">
<mycat:server xmlns:mycat="http://org.opencloudb/">
<system>
<!--
<property name="mutiNodeLimitType">1</property> 0:開啟小數量級(預設) ;1:開啟億級資料排序
<property name="mutiNodePatchSize">100</property> 億級數量排序批量
<property name="processors">32</property> <property name="processorExecutor">32</property>
<property name="serverPort">8066</property> <property name="managerPort">9066</property>
<property name="idleTimeout">300000</property> <property name="bindIp">0.0.0.0</property>
<property name="frontWriteQueueSize">4096</property> <property name="processors">32</property> -->
</system>
<user name="admin">
<property name="password">admin</property>
<property name="schemas">database1</property>
</user>
</mycat:server>
這裡的 的schemas 一定要和前面的 對應配置OK
bin/mycat start
啟動Mycat
連線MyCat
mysql -h127.0.0.1 -uadmin -padmin -P8066
Ok 配置結束
Mysql 主從複製 + MyCat讀寫分離 配置就OK了