基於Linux的mysql主從配置

bisnow_發表於2019-04-29

mysql主從配置

  1. 準備
主機:192.168.244.128
從機:192.168.244.130
複製程式碼

配置主機

  1. 授權給從機伺服器
GRANT REPLICATION SLAVE ON *.* to 'rep1'@'192.168.244.130' identified by 'root@bisnow';
FLUSH PRIVILEGES;
複製程式碼

這裡表示配置從機登入使用者名稱為 rep1,密碼為 123,並且必須從 192.168.248.139這個 地址登入,登入成功之後可以操作任意庫中的任意表。其中,如果不需要限制登入地址,可以將 IP 地址更換為一個 %。

  1. 修改主庫配置檔案
vi /etc/my.cnf
[mysqld]
log-bin=/var/lib/mysql/binlog
server-id=130
binlog-do-db = cmdb
 
server-id:master端的ID號;
log-bin:同步的日誌路徑及檔名,一定注意這個目錄要是mysql有許可權寫入的(我這裡是偷懶了,直接放在了下面那個datadir下面);
binlog-do-db:要同步的資料庫名
複製程式碼

基於Linux的mysql主從配置

  1. 配置完成後重啟mysql服務
systemctl restart mysqld.service
複製程式碼
  1. 檢視主伺服器當前二進位制日誌名和偏移量,這個操作的目的是為了在從資料庫啟動後,從這個點開始進行資料的恢復
mysql> show master status;
複製程式碼

基於Linux的mysql主從配置

配置從機

  1. 在/etc/my.cnf 新增下面配置
server-id=131
複製程式碼

注意:如果從機是從主機複製來的,兩個mysql的uuid一樣,需要手動修改,修改位置在data目錄下的auto.cnf檔案中。 vi /var/lib/mysql/auto.cnf

  1. 使用命令來配置從機:
change master to master_host='192.168.244.128',master_port=3306,master_user='rep1',master_password='root@bisnow',master_log_file='binlog.000002',master_log_pos=120;
複製程式碼

基於Linux的mysql主從配置

  1. 啟動slave程式

基於Linux的mysql主從配置

  1. 檢視slave的狀態,如果下面兩項值為YES,則表示配置正確: Slave_IO_Running: Yes Slave_SQL_Running: Yes

至此,配置完成,主機建立庫,新增資料,從機會自動同步。

相關文章