首页 > 数据库 > mysql教程 > 为什么MySQL的通配符主机'%”不自动授予远程访问权限?

为什么MySQL的通配符主机'%”不自动授予远程访问权限?

Patricia Arquette
发布: 2024-12-14 01:30:10
原创
969 人浏览过

Why Doesn't MySQL's Wildcard Host '%' Automatically Grant Remote Access?

MySQL 用户的远程访问

尝试使用用户 user@'%' 和密码 密码,尽管通配符 % 表示从任何主机访问,但连接失败。

原因失败

MySQL 用户主机字段中的通配符 % 不会自动授予远程访问权限。要远程连接,需要执行以下步骤:

  1. 将 MySQL 绑定到机器的 IP 地址: 在 my.cnf 中配置 MySQL 将端口 3306 绑定到您机器的 IP 地址(或 Windows 上的 my.ini)为如下所示:

    bind-address        = xxx.xxx.xxx.xxx
    登录后复制
  2. 在本地主机和通配符中创建用户:使用以下命令在本地主机和%通配符主机中创建用户:

    CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
    CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
    登录后复制
  3. 授予权限: 从本地主机和通配符向用户授予所有数据库的完全权限:

    GRANT ALL ON *.* TO 'myuser'@'localhost';
    GRANT ALL ON *.* TO 'myuser'@'%';
    FLUSH PRIVILEGES;
    登录后复制

其他注意事项

  • 根据您的操作系统,您可能需要打开端口 3306 以允许远程连接。
  • 确保 MySQL 配置包含skip-name-resolve 选项以防止 DNS 查找。
  • 使用以下命令测试远程连接:

    mysql -h <hostname> -u myuser -pmypass
    登录后复制

以上是为什么MySQL的通配符主机'%”不自动授予远程访问权限?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板