• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 创建用于复制的用户

    每个从服务器都使用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密钥对的密码交换才能成功进行连接。