編碼的世界 / 優質文選 / 歷史

mysql主從複制+主備切換


2022年7月03日
-   


簡介
使用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

熱門文章