10分鐘搞定Mysql主從部署配置

流程

  1. Master數據庫安裝
  2. Slave數據庫安裝
  3. 配置Master數據庫
  4. 配置Slave數據庫

網絡信息

  1. Master數據庫IP:192.168.198.133
  2. Slave數據庫IP:192.168.198.132

配置Master數據庫

在Master數據庫安裝完畢後,修改/etc/my.cnf

[mysqld]
server-id=1 \\指定ID,主從的兩臺虛擬機ID必須不同
log-bin=mysql-bin \\mysql根據配置自動設置指定的二進制文件名

修改完配置文件,重啓數據庫主庫

systemctl restart mysqld

在Master庫中添加同步使用的用戶(不能用root)

-- 創建用戶synch,IP地址必須綁定Slave服務器IP,否則Slave無法通過此賬號來訪問
create user 'synch'@'192.168.198.132' identified by '123456';  
-- 對賬號的數據庫和數據表進行授權,授權全部庫即可
grant replication slave on *.* to 'synch'@'192.168.198.132';
-- 刷新權限
flush privileges;

查看住數據庫狀態,確定日誌File名和當前bin日誌的位置,提供給從庫做配置使用。下圖中的Position指的是log-bin日誌的位置,一般這裏寫什麼,從庫中就寫什麼。從庫中寫了該信息後,同步將從此日誌位置開始

也就是說,在同步之前,你的主庫和從庫狀態必須是一致的。否則在從庫配置該屬性的時候,就要配置爲0

配置Slave數據庫

你有幾個Slave就配置幾個,咱們這以一個Slave數據庫舉例。同樣先修改/etc/my.cnf

[mysqld]
server-id=2
replicate-do-db=test \\指定要複製的數據庫

修改完重啓數據庫

systemctl restart mysqld

進入從庫的交互模式

mysql -uroot -p
-- 輸入密碼

-- 停掉同步
stop slave;

-- 修改同步的配置,注意:以下配置每一行後面一定不能有空格,否則識別可能不通過
change
master to
master_host='192.168.198.133', 
master_port=3306,
master_user='synch',
master_password='123456',
master_log_file='mysql-bin.000001',
master_log_pos=3558;

-- master_host:主庫的IP
-- master_user:同步用戶,就是上一環節創建的用戶
-- master_password:用戶密碼,就是上一環境創建的用戶密碼
-- master_log_file:上一環節看到的日誌文件名
-- master_log_pos: 從哪一行開始同步

-- 開啓同步
start slave;

-- 查看從庫同步信息和狀態
show slave status\G;

從庫同步信息和狀態中,只要Slave_IO_Running和Slave_SQL_Running 都是Yes,就證明同步正常了

注意事項

  1. 對從庫進行配置前,建議在從庫服務器上,使用同步賬號通過mysql命令進行一次訪問,來確保兩臺服務器之間可以相互訪問
mysql -h 192.168.198.133 -u synch -p
-- 輸入密碼
  1. 同步前強烈建議先把主庫和從庫需要同步的數據庫調整爲一致,否則如果主庫數據裏大,會進行漫長的同步等待
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章