“mysql.sys@localhost”用户的目的是什么

这篇文章解释了 mysql.sys@localhost 用户存在的原因以及它的用途。

mysql.sys@localhost 用户是一个系统用户,用作 sys 架构中视图、过程和函数的定义者。
它是在 MySQL 5.7.9 中添加的,以避免 DBA 重命名 root@localhost 用户时出现问题。
另请参阅参考手册中的 MySQL sys Schema。

以下内容适用于 mysql.sys@localhost 用户:

  1. 只要安装了 sys 架构,它就是一个必需的用户。
    请不要丢弃用户。

  2. 默认是锁定的,所以不能用来访问MySQL:

mysql> SHOW CREATE USER 'mysql.sys'@localhost\G
*** 1. row ***
CREATE USER for mysql.sys@localhost: CREATE USER 'mysql.sys'@'localhost' IDENTIFIED WITH 'mysql_native_password' AS '*THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT LOCK
1 row in set (0.00 sec)

注意帐户锁定。

  1. 它使用了无效的密码(参见上面 SHOW CREATE USER 的输出)。
    这确保了如果帐户被错误解锁,仍然无法登录。
    因此建议不要重置密码。
日期:2020-09-17 00:11:17 来源:oir作者:oir