【问题标题】:MySQL Replication : SQL Thread, which privileges?MySQL 复制:SQL 线程,哪些权限?
【发布时间】:2013-07-01 15:18:56
【问题描述】:

我正在尝试使用 MySQL 将数据从 Master 复制到 Slave。

激活slave(MySQL上的“start slave”命令)时,会创建2个线程:

  • I/O 线程
  • SQL 线程

最后一个从relay-log.info文件(由I/O线程写入)中读取请求,并在数据库上执行这些请求。

我的问题是:

SQL 线程如何执行这些请求?它使用哪个 Mysql 用户?它的特权是什么?

提前谢谢你!

【问题讨论】:

    标签: mysql multithreading replication privileges


    【解决方案1】:

    在从服务器上,复制是在低级别完成的,没有特殊帐户。运行START SLAVE 语句需要SUPER 权限。

    查看this manual page 上的最后一个列表。线程显示为属于“系统用户”。

    Slave 服务器以CHANGE MASTER 语句中指定的用户连接到Master。该用户必须存在于 Master 上,并且需要 REPLICATION SLAVE 权限。

    【讨论】:

    • 非常感谢,我刚看到“系统用户”,似乎是这个应用程序的特定用户...你认为这个“系统用户”和“root”有相同的权限吗? " 用户?
    • 我宁愿这样说:该用户拥有SUPER 权限(因为您可以像其他任何用户一样撤销root 的权限)。
    • 那么有了 SUPER 权限,“系统用户”也可以启动和停止复制?
    • 我想它可以,但这不是问题,不是吗?我希望复制控制语句不会被复制(但我目前没有可以使用的系统)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-21
    • 2021-05-02
    • 1970-01-01
    • 2014-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多