1. 程式人生 > 其它 >Linux MySQL5.7 主從搭建

Linux MySQL5.7 主從搭建

前提準備

  1. 兩臺伺服器上均已安裝好MySQL5.7,
  2. 主伺服器MySQL需要先建好資料庫
  3. 從伺服器MySQL不需要建庫建表,否則會報錯
目錄

1.修改master伺服器配置

1.1 修改my.cnf配置檔案

檔案路徑為:/etc/my.cnf

vim /etc/my.cnf
##必須啟用二進位制日誌,字尾為mysql-bin 即可,如 /usr/local/mysql/data/mysql-bin 
log-bin=mysql-bin 
# 伺服器唯一id 預設是1
server.id=1

#不需要同步的資料庫,可設定多個
binlog-ignore-db=table1
# 需要同步的資料庫,可以設設定多個
bin-do-db=test

修改儲存後,重啟mysql,使配置生效

命令為:service mysqld restart

1.2 建立同步用的賬號

[root@cico-211-93 ~]# mysql -u root -p ##登入mysql 回車輸入密碼
mysql> create user '使用者名稱'@'Slave ip' identified by '密碼';
mysql> grant all privileges on *.* to '使用者名稱'@'Slave ip' identified by '密碼' with grant option;
mysql>flush privileges; ##重新整理配置
mysql>show master status; ##查詢master狀態,記住File Position欄位
+------------------+----------+-------------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB      | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+-------------------+------------------+-------------------+
| mysql-bin.000005 |  3986982 |     test          |                  |                   |
+------------------+----------+-------------------+------------------+-------------------+

2.修改Slave伺服器配置

[root@cico-211-153 ~]# mysql -u root -p ##登入mysql 回車輸入密碼
mysql> change master to  master_host='master ip',master_posr=3306,master_user='user',master_password='password',master_log_file='mysql-bin.000005',master_log_pos='3986982';
## 回車不報錯時,則執行成功,否則為不成功,需要重新檢查
mysql> start slave; ## 開啟複製
mysql> show slave status\G ##檢視主從狀態

只有: Slave_IO_Running: Yes; Slave_SQL_Running: Yes 均為YES才說明配置成功