MySQL主從復制是一個非常常見的MySQL數據庫架構,它能夠實現高可用和負載均衡,同時也能夠提高數據的安全性。在Linux系統中,我們可以通過配置文件的方式實現MySQL主從復制
在主機上的配置文件 my.cnf 里進行如下配置 log-bin=mysql-bin # 開啟二進制日志 server-id=1 # 主庫的唯一標識符 binlog-do-db=db # 需要復制的數據庫名 在從機上的配置文件 my.cnf 里進行如下配置 server-id=2 # 從庫的唯一標識符 replicate-do-db=db # 需要復制的數據庫名 relay-log=relay-bin # 開啟中繼日志 replicate-wild-ignore-table=mysql.% # 忽略 MySQL 系統表的同步
配置完后,我們需要重啟MySQL服務,接著在主機上創建一個用于復制的用戶,并賦予相應的權限
grant replication slave on *.* to 'slave'@'從服務器的ip' identified by '密碼'; flush privileges; show MASTER status;
在從機上進行如下操作,把剛才主機上的 MASTER status 相應的值更新到從機上
CHANGE MASTER TO MASTER_HOST='主服務器ip', MASTER_USER='slave', MASTER_PASSWORD='slave密碼', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=98; start slave; show slave status;
當從機的狀態出現 yes,表示 MySQL 服務器已成功運行在 slave 模式下,即完成了從主機上復制數據的操作。