Mysql localhost != 127.0.0.1?
了解差异
连接到时不指定主机名或使用“localhost”的 MySQL 数据库,unix mysqld 使用套接字。然而,使用 IP 地址“127.0.0.1”作为主机会触发网络连接。
对权限的影响
这种区别在 GRANT 系统中变得很明显。默认情况下,授予“root”@“localhost”的权限仅适用于使用套接字的连接。要将这些权限扩展到与“127.0.0.1”的连接,您需要将它们显式授予“root”@“127.0.0.1”。
授予所有主机的所有权限
要为“root”用户从任何主机分配到所有数据库的完全权限,请使用以下命令:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
验证权限
确认更新的权限:
mysql -u root -h 127.0.0.1 -pzenoss -e "SHOW GRANTS;"
结果现在应该显示“root”的授权@'127.0.0.1' 以及'root'@'localhost'.
以上是MySQL `localhost` 与 `127.0.0.1`:为什么它对用户权限很重要?的详细内容。更多信息请关注PHP中文网其他相关文章!