簡介
使用mycat進行主從切換,當一台mysql服務器宕機之後,mycat會切換至另一台進行連接,兩台mysql互為主從,這樣可以使兩台mysql服務器互相備份,使其數據一致。
1. 服務器分配
Mycat 192.168.1.100:8066
Mysql1 192.168.1.101:3306
Mysql2 192.168.1.102:3306
2. 安裝所需的程序
系統版本CentOS-7-1611
1. Jdk1.7
2. Mycat1.4
3. Mysql5.7
3. Mycat服務器安裝配置
a. 安裝jdk,配置jdk環境變量
略。
b. 安裝mycat
1. tar –xzvf myscatTar包,解壓完成後複制到 /usr/mycat路徑
2. 配置環境變量,vi /etc/profile,增加以下
export MYCAT_HOME=/usr/mycat
export PATH=$PATH:$MYCAT_HOME/bin
生效環境配置文件source /etc/profile
c. 修改配置文件
1. 修改server.xml,路徑/usr/mycat/conf設置登錄名密碼,邏輯表名稱
<user name="root">
<propertyname="password">123456</property>
<!—邏輯表名稱,mycat的表名à
<propertyname="schemas">developdatabase</property>
</user>
2. 配置schema.xml,路徑/usr/mycat/conf d. 修改防火牆,允許mycat的端口被外界訪問
firewall-cmd zone=public add-port=8066/tcp–permanent
firewall-cmd –reload
4. mysql服務器安裝配置
Mysql安裝略
a. 修改mysql配置文件my.conf(兩台mysql服務器都需要修改)
server_id=1
log-bin=mysql-bin
relay_log=mysql-relay-bin
增加上面配置,兩台mysql服務器的server_id不能重複
b. Mysql master配置(主服務配置)
登錄192.168.1.101mysql服務器
連接mysql:mysql –uroot –p
GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO backup@’192.168.1.102’ IDENTIFIED BY ‘123456’;
FLUSH PRIVILEGES; 生效創建的用戶
建立一個帳戶backup,並且只能允許從192.168.1.102這個地址上來登陸,密碼是123456。
重啟master,運行SHOWMASTER STATUS;,輸出如下:
c. Mysql slave配置(從服務配置)
登錄192.168.1.102mysql服務器
連接mysql:mysql –uroot –p
mysql> CHANGE MASTER TO MASTER_HOST='mastrt服務器地址',
-> MASTER_USER='master服務器用戶,使用剛才創建的backup',
->MASTER_PASSWORD='密碼',
-> MASTER_LOG_FILE='master的show master status的file,實際填寫mysql-bin.000009',
-> MASTER_LOG_POS=0; master的show master status的Position
使用SHOW SLAVE STATUSG語句查看slave的設置是否正確
這樣slave 在這裏主要是看:
Slave_IO_Running=Yes
Slave_SQL_Running=Yes
slave的I/O和SQL線程都已經開始運行,而且Seconds_Behind_Master不再是NULL。日志的位置增加了,意味著一些事件被獲取並執行了。就連接上master了。
在master上輸入showprocesslistG
3. row 就是slave的連接
因為我們的配置是互為主從,只需要把以上的操作,兩台服務器反過來再進行操作一遍就好了。
客戶端連接的時候只需要連接192.168.1.100:8066