安全地将多个MySQL用户合并到%

sit*_*lge 5 mysql database linux config

最近在Linux机器上管理我的MySQL(5.5.41)并决定删除/合并MySQL最初创建的root用户.

引用MySQL 5.5文档(这里也是很好的文章)

在Unix上,每个root帐户都允许来自本地主机的连接.可以通过指定主机名localhost,IP地址127.0.0.1,IPv6地址:: 1或实际主机名或IP地址来建立连接.

user表如下

+-----------+------------------+-------------------------------------------+
| Host      | User             | Password                                  |
+-----------+------------------+-------------------------------------------+
| localhost | root             | *ABC...                                   |
| lamp      | root             |                                           |
| 127.0.0.1 | root             | *ABC...                                   |
| ::1       | root             |                                           |
| localhost | john             | *EFG...                                   |
| lamp      | john             |                                           |
| 127.0.0.1 | john             | *EFG...                                   |
| ::1       | john             |                                           |
+-----------+------------------+-------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

它也设置为仅侦听localhost bind-address = 127.0.0.1.问题是

  • 将多个root用户合并为一个用户并使用%通配符可能会出现什么样的问题Host
  • 有些密码是空白的,因此无需登录.如果%使用并且设置了密码,则某些用户(lamp,IPv6 ::1)将无法登录.这应该避免吗?
  • 什么可能是最好的pracice -创建一个新的用户基础上初步创建(127.0.0.1,::1,localhost),或者与坚持%通配符?

Ale*_*tan 0

首先,我建议您避免使用%通配符(如果不是绝对必要的话)。如果您的用户从运行 mysql 服务器的同一主机连接到数据库,我的建议是使用127.0.0.1

所有最佳实践都指出应禁用无密码登录。

至于 IPv6,如果您不使用该用户,那么拥有该用户就没有意义。

我建议您阅读此http://www.greensql.com/content/mysql-security-best-practices-hardening-mysql-tips