Documentation Home

17.1.2.3 为复制创建用户

每个副本都使用 MySQL 用户名和密码连接到源,因此源上必须有一个用户帐户可供副本用于连接。用户名由 SOURCE_USER|指定 设置副本时语句(从 MySQL 8.0.23 开始)或 语句(MySQL 8.0.23 之前)的MASTER_USER 选项。任何帐户都可以用于此操作,前提是它已被授予 权限。您可以选择为每个副本创建不同的帐户,或者为每个副本使用相同的帐户连接到源。 CHANGE REPLICATION SOURCE TOCHANGE MASTER TOREPLICATION SLAVE

尽管您不必专门为复制创建帐户,但您应该知道复制用户名和密码以纯文本形式存储在副本的连接元数据存储库中 mysql.slave_master_info(请参阅 第 17.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';

有关操纵用户帐户的语句的更多信息, 请参见第 13.7.1 节,“帐户管理语句” 。

重要的

要使用通过插件进行身份验证的用户帐户连接到源 caching_sha2_password,您必须按照 第 17.3.1 节“设置复制以使用加密连接”中所述设置安全连接,或者启用未加密连接以支持密码交换使用 RSA 密钥对。caching_sha2_password 身份验证插件是从 MySQL 8.0 创建的新用户的默认设置(有关详细信息,请参阅 第6.4.1.2 节,“缓存 SHA-2 可插入身份验证”)。如果您创建或用于复制的用户帐户(由MASTER_USER选项)使用此身份验证插件,并且您未使用安全连接,则必须启用基于 RSA 密钥对的密码交换才能成功连接。