首頁 > 資料庫 > mysql教程 > MySQL如何建構主從同步實作操作

MySQL如何建構主從同步實作操作

PHPz
發布: 2023-05-27 18:43:12
轉載
1618 人瀏覽過

一、MySQL 8.0 主從同步

主從同步的流程(原理):

  • ##master 將變動記錄到二進位日誌檔案(binary log)中,也就是設定檔中log-bin 指定的文件,這些記錄叫做二進位日誌事件(binary log events);

  • #master 將二進位日誌檔案傳送給slave;

  • slave 透過I/O 執行緒讀取檔案中的內容寫到relay 日誌中;

  • slave 執行relay 日誌中的事件,完成資料在本機的儲存。

建構主從需要注意的事項:

  • #主從伺服器作業系統版本和位元數一致;

  • MasterSlave 資料庫版本要一致;

  • Master 和Slave 資料庫中的資料要一致;

  • Master 開啟二進位日誌, Master 和Slave 的server_id 在區域網路內必須唯一。

二、MySQL主從搭建

2.1 Master 上的動作

修改master 的設定( my.cnf)加入下面的內容:

[mysqld]
  log-bin=mysql-bin
  # id 必须唯一!!!
  server-id=1
登入後複製

重啟master:

systemctl restart mysql
登入後複製
登入後複製

在master 中建立用於主從同步的使用者:

mysql> # 创建用户
mysql> CREATE USER 'hugh'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
mysql> # 授权用户
mysql> GRANT REPLICATION SLAVE ON *.* TO 'hugh'@'%';
mysql> # 刷新权限
mysql> FLUSH PRIVILEGES;
登入後複製

查看主伺服器狀態:

show master status;
登入後複製

記錄下

FilePosition 的值,之後要用到。

2.2 Slave 上的動作

修改slave 的設定( my.cnf)加入下面的內容:

[mysqld]
  # id 必须唯一!!!
  server-id=2
登入後複製

#重啟slave:

systemctl restart mysql
登入後複製
登入後複製

登入MySQL 並執行以下指令,設定主節點參數:

mysql> CHANGE MASTER TO
MASTER_HOST='master的IP地址',
MASTER_USER='hugh',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='binlog.000006',
MASTER_LOG_POS=856;
登入後複製

最後兩行就是我們記錄下的

File Position 的值。

查看主從同步的狀態:

mysql> show slave status\G;
登入後複製

#檢查下面的訊息,都為 yes 才代表搭建成功:##

Slave_IO_Running: Yes
Slave_SQL_Running: Yes
登入後複製

以上是MySQL如何建構主從同步實作操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板