MySQL 用户的远程访问
尝试使用用户 user@'%' 和密码 密码,尽管通配符 % 表示从任何主机访问,但连接失败。
原因失败
MySQL 用户主机字段中的通配符 % 不会自动授予远程访问权限。要远程连接,需要执行以下步骤:
将 MySQL 绑定到机器的 IP 地址: 在 my.cnf 中配置 MySQL 将端口 3306 绑定到您机器的 IP 地址(或 Windows 上的 my.ini)为如下所示:
bind-address = xxx.xxx.xxx.xxx
在本地主机和通配符中创建用户:使用以下命令在本地主机和%通配符主机中创建用户:
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass'; CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
授予权限: 从本地主机和通配符向用户授予所有数据库的完全权限:
GRANT ALL ON *.* TO 'myuser'@'localhost'; GRANT ALL ON *.* TO 'myuser'@'%'; FLUSH PRIVILEGES;
其他注意事项
使用以下命令测试远程连接:
mysql -h <hostname> -u myuser -pmypass
以上是为什么MySQL的通配符主机'%”不自动授予远程访问权限?的详细内容。更多信息请关注PHP中文网其他相关文章!