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

时间:2015-05-15 09:41:29

标签: mysql linux database config

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

引用MySQL 5.5 documentation(也很好article here

  

在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             |                                           |
+-----------+------------------+-------------------------------------------+

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

  • 将多个root用户合并到一个用户并使用%通配符作为Host可能会出现什么样的问题?
  • 部分密码为空白,因此无需登录。如果使用%并设置了密码,则某些用户(lamp,IPv6 ::1)将无法登录。这应该避免吗?
  • 什么可能是最好的实践 - 根据初始创建(127.0.0.1::1localhost)创建新用户或坚持使用%通配符?

1 个答案:

答案 0 :(得分:0)

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

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

对于IPv6,如果您不使用该用户,则没有任何意义。

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