我们的 MySQL 日志在重新启动时显示了关于 2 个没有密码的 root 用户的警告。
我进入 MySQL 并检查了所有用户:
mysql> select * from mysql.user;
Run Code Online (Sandbox Code Playgroud)
并看到:
Host | User | Password
localhost root *76685yt868itetc
web12-b0 root
127.0.0.1 root
Run Code Online (Sandbox Code Playgroud)
首先,为什么有 3 个 root 用户(因为我们有 localhost,所以我们需要 127.0.0.1)?
其次,为什么其中两个没有设置密码?
第三,web12-b0 和 127.0.0.1 主机是否具有完全的 root 访问权限而无需使用密码(如其所示)?
第四,这有什么正当理由还是我应该建议管理员将密码放在这两台主机上?
感谢您的回答。
Aar*_* R. 12
我知道这是一个旧线程,但我想补充几点:
首次创建数据库时,默认生成三个 root 用户。这些都是在没有密码的情况下创建的。这时候,安装还建议你通过运行设置密码mysqladmin -u root password,这会改变'root'@'%'的密码。
仍然没有密码的两个是本地主机列中指定的主机;在这两种情况下,它都是实际的数据库服务器。默认情况下,他们都拥有对数据库的完全访问权限。人们可能会正确地推测,在许多情况下,如果您能够首先登录到机器(这对于使用这些 root 帐户中的任何一个帐户都是必要的),那么您可能可以访问磁盘上的实际文件。因此,对这些设置密码可能不会产生任何真正的安全性。
话虽如此,我更喜欢删除这些默认帐户,并坚持使用密码帐户。
DELETE FROM mysql.user WHERE Password=''; FLUSH PRIVILEGES
| 归档时间: |
|
| 查看次数: |
11017 次 |
| 最近记录: |