最近在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
,::1
,localhost
)创建新用户或坚持使用%
通配符? 答案 0 :(得分:0)
首先,我建议您避免使用%
通配符(如果它不是绝对必要的话)。如果您的用户从运行mysql服务器的同一主机连接到数据库,我的建议是使用127.0.0.1
所有最佳做法都指出应禁用无密码登录。
对于IPv6,如果您不使用该用户,则没有任何意义。
我建议您阅读此http://www.greensql.com/content/mysql-security-best-practices-hardening-mysql-tips