每个副本都使用 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
插件进行身份验证的用户帐户连接到源,您必须 either 设置安全连接(如 第 19.3.1 节,“设置使用加密连接的复制” 中所述),或者启用不安全的连接以支持使用 RSA 密钥对进行密码交换。 caching_sha2_password
身份验证插件是新用户的默认插件(请参见 第 8.4.1.1 节,“缓存 SHA-2 可插拔身份验证”)。如果您创建或使用的用于复制的用户帐户(由 SOURCE_USER
选项指定)使用此身份验证插件,并且您没有使用安全连接,则必须启用基于 RSA 密钥对的密码交换才能成功连接。