Mysql

如何禁用 MYSQL 複製?

  • July 1, 2022

我有 2 個數據庫,它們相互複製沒有問題。我需要一個測試數據庫伺服器,為了避免安裝作業系統等,我啟動了其中一台伺服器的新映像(具有不同的主機名、IP 等)。

在打開介面之前,我想確保新的測試數據庫不會從其他實時伺服器發送或接收和複製數據。一種簡單的解決方案是刪除指向實時伺服器的 IP 路由,但我也想禁用複制以 100% 確定。有人可以指導我如何禁用複制,以便測試伺服器不會發送任何更新並且不會接收任何更新?

MySQL 複製不發送任何內容。必須提取數據的是副本。

這意味著如果您沒有配置任何副本來連接到您的測試伺服器,它就無法將任何更新發送到其他 MySQL 實例。

但要回答您的問題,您可以:

  • 禁用測試伺服器上的二進制日誌。那麼即使他們嘗試過,也不會有任何副本可以提取的日誌。在 MySQL 8.0 上,您將在啟動實例之前在文件中設置伺服器選項skip-log-bin 。my.cnf在舊版本上,不支持跳過前綴,因此如果您只是不在文件中啟用log-binmy.cnf或者如果存在則將其註釋掉)。
  • 確定您的副本將用於連接的 MySQL 使用者,並使用REVOKE REPLICATION SLAVE該使用者從您的測試實例上刪除該使用者的權限。或者更改密碼,或者只是DROP USER.

也就是說,我還建議配置您的網路路由,以便測試伺服器和實時伺服器根本無法相互訪問。不僅為了 MySQL 複製,還為了任何其他聯繫。

引用自:https://dba.stackexchange.com/questions/313991