怎麼在linux完成MySQL主從熱備?

專注的阿熊發表於2020-01-15

隨著大資料時代的來臨,資料顯得尤為重要,資料的丟失或者損毀甚至可以摧毀一個公司。






Linux下的主從熱備其實很簡單






1. 作為主伺服器Master,  會把自己的每一次改動都記錄到 二進位制日誌 Binarylog 中。 (從伺服器會負責來讀取這個log, 然後在自己那裡再執行一遍。)


2. 作為從伺服器Slave, 會用master上的賬號登陸到 master上, 讀取master的Binarylog,  寫入到自己的中繼日誌 Relaylog, 然後自己的sql執行緒會負責讀取這個中繼日誌,並執行一遍。  到這裡主伺服器上的更改就同步到從伺服器上了。


下面介紹下具體的配置方法:


主從主從 就是有不少於兩個伺服器,


在此已


192.168.0.1(主伺服器資料庫)


192.168.0.2(從伺服器資料庫)為例:






主伺服器master配置


[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0


server-id=1
log-bin=mysql-bin
relay-log=relay-bin
relay-log-index=relay-bin-index


[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
從伺服器Slave配置
貨幣符號




[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
server-id=2    #不能和主伺服器的一樣
log-bin=mysql-bin
replicate-do-db=test    #選擇熱備的資料庫
log-slave-updates=1


[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid




配置完成  登入Slave,然後執行下面命令:


mysql> stop slave;
mysql> change master to master_host='192.168.0.1',master_user='root',master_password='123456';
#主資料庫的配置
mysql> start slave;
mysql> show slave status\G;


金融問答



檢查相關配置是否正常執行:yes為正常。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
如果以上兩個配置有任何一個為No。都不能正常進行熱備,需檢查具體原因,




最後測試   在主資料的test庫中做任何操作, 從伺服器的資料庫中的test都會有所同步


至此,Linux主從熱備資料完成。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2673518/,如需轉載,請註明出處,否則將追究法律責任。

相關文章