每個副本都會使用 MySQL 使用者名稱和密碼連線到來源,因此來源上必須有一個使用者帳戶,供副本用來連線。當您設定副本時,使用者名稱由 CHANGE REPLICATION SOURCE TO
陳述式的 SOURCE_USER
選項指定。任何帳戶都可以用於此操作,只要它已獲授 REPLICATION SLAVE
權限即可。您可以選擇為每個副本建立不同的帳戶,或使用每個副本的相同帳戶連線到來源。
雖然您不必專門為複製建立帳戶,但您應該了解,複製使用者名稱和密碼會以純文字形式儲存在副本的連線中繼資料儲存庫 mysql.slave_master_info
中(請參閱第 19.2.4.2 節,「複製中繼資料儲存庫」)。因此,您可能想要建立一個僅具有複製程序權限的單獨帳戶,以盡量減少其他帳戶遭到洩漏的可能性。
若要建立新的帳戶,請使用 CREATE USER
。若要授與此帳戶複製所需的權限,請使用 GRANT
陳述式。如果您建立帳戶的目的僅用於複製,則該帳戶只需要 REPLICATION SLAVE
權限。例如,若要設定一個新的使用者 repl
,該使用者可以從 example.com
網域中的任何主機連線進行複製,請在來源上發出以下陳述式
mysql> CREATE USER 'repl'@'%.example.com' IDENTIFIED BY 'password';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%.example.com';
有關操作使用者帳戶的陳述式的更多資訊,請參閱 第 15.7.1 節,「帳戶管理陳述式」。
若要使用以 caching_sha2_password
外掛程式驗證的使用者帳戶連線到來源,您必須設定安全連線,如 第 19.3.1 節,「設定複製以使用加密連線」中所述,或者啟用未加密連線以支援使用 RSA 金鑰對的密碼交換。caching_sha2_password
驗證外掛程式是新使用者的預設外掛程式(請參閱 第 8.4.1.1 節,「快取 SHA-2 可插拔驗證」)。如果您為複製建立或使用的使用者帳戶(由 SOURCE_USER
選項指定)使用此驗證外掛程式,並且您未使用安全連線,則您必須啟用基於 RSA 金鑰對的密碼交換才能成功連線。