每个副本使用 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.2 节,“缓存 SHA-2 可插拔身份验证”)。如果您为复制创建或使用的用户帐户(如 SOURCE_USER
选项指定)使用此身份验证插件,并且您没有使用安全连接,则必须启用基于 RSA 密钥对的密码交换才能成功连接。