创建用于复制的用户
每个从服务器都使用MySQL用户名和密码连接到主服务器,因此在主服务器上必须有一个用户帐户,从服务器可以使用该用户帐户进行连接。设置复制从属时,用户名由命令MASTER_USER
上的选项指定CHANGE MASTER TO
。只要已被授予REPLICATION SLAVE
特权,任何帐户都可以用于此操作。您可以选择为每个从站创建一个不同的帐户,或者使用每个从站的相同帐户连接到主服务器。
尽管不必专门为复制创建帐户,但应注意,复制用户名和密码以纯文本格式存储在主信息存储库表中mysql.slave_master_info
(请参见“从属状态日志”)。因此,您可能希望创建一个仅对复制过程具有特权的单独帐户,以最大程度地降低损害其他帐户的可能性。
要创建一个新帐户,请使用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';
有关操纵用户帐户的语句的更多信息,请参见“账户权限控制”。
重要要使用通过caching_sha2_password
插件进行身份验证的用户帐户连接到复制主服务器,必须按照“设置复制以使用加密的连接”中所述设置安全连接,或启用未加密的连接以支持密码使用RSA密钥对进行交换。caching_sha2_password
对于从MySQL 8.0创建的新用户,身份验证插件是默认的(有关详细信息,请参见“缓存SHA-2可插入身份验证”)。如果您创建或用于复制的用户帐户(由MASTER_USER
选项)使用此身份验证插件,并且您没有使用安全连接,则必须启用基于RSA密钥对的密码交换才能成功进行连接。