安全地将多个 MySQL 用户合并到 %
Safely merging multiple MySQL users to %
最近在 Linux 机器上管理我的 MySQL (5.5.41) 并决定 remove/merge MySQL 最初创建 root
用户。
引用 MySQL 5.5 documentation (also nice article here)
On Unix, each root account permits connections from the local host. Connections can be made by specifying the host name localhost, the IP address 127.0.0.1, the IPv6 address ::1, or the actual host name or IP address.
user
table如下
+-----------+------------------+-------------------------------------------+
| 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 | |
+-----------+------------------+-------------------------------------------+
它也被设置为只监听本地主机bind-address = 127.0.0.1
。问题是
- 将多个
root
用户合并为一个用户并使用 %
通配符作为 Host
可能带来的后果是什么?
- 有些密码是空白的,因此不需要登录。如果使用
%
并设置了密码,某些用户 (lamp
、IPv6 ::1
) 将无法登录。应该避免这种情况吗?
- 最好的做法是什么 - 在初始创建的基础上创建新用户(
127.0.0.1
、::1
、localhost
)或坚持使用 %
通配符?
首先,我建议您避免使用 %
通配符(如果不是绝对必要的话)。如果您的用户从 mysql 服务器 运行 所在的同一主机连接到数据库,我的建议是使用 127.0.0.1
所有最佳实践都指出应禁用无密码登录。
至于 IPv6,如果您不使用该用户,则没有任何意义。
我建议你阅读这篇文章http://www.greensql.com/content/mysql-security-best-practices-hardening-mysql-tips
最近在 Linux 机器上管理我的 MySQL (5.5.41) 并决定 remove/merge MySQL 最初创建 root
用户。
引用 MySQL 5.5 documentation (also nice article here)
On Unix, each root account permits connections from the local host. Connections can be made by specifying the host name localhost, the IP address 127.0.0.1, the IPv6 address ::1, or the actual host name or IP address.
user
table如下
+-----------+------------------+-------------------------------------------+
| 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 | |
+-----------+------------------+-------------------------------------------+
它也被设置为只监听本地主机bind-address = 127.0.0.1
。问题是
- 将多个
root
用户合并为一个用户并使用%
通配符作为Host
可能带来的后果是什么? - 有些密码是空白的,因此不需要登录。如果使用
%
并设置了密码,某些用户 (lamp
、IPv6::1
) 将无法登录。应该避免这种情况吗? - 最好的做法是什么 - 在初始创建的基础上创建新用户(
127.0.0.1
、::1
、localhost
)或坚持使用%
通配符?
首先,我建议您避免使用 %
通配符(如果不是绝对必要的话)。如果您的用户从 mysql 服务器 运行 所在的同一主机连接到数据库,我的建议是使用 127.0.0.1
所有最佳实践都指出应禁用无密码登录。
至于 IPv6,如果您不使用该用户,则没有任何意义。
我建议你阅读这篇文章http://www.greensql.com/content/mysql-security-best-practices-hardening-mysql-tips