【问题标题】:connecting to MySQL server 8.0 from remote network (windows 10)从远程网络连接到 MySQL 服务器 8.0 (windows 10)
【发布时间】:2020-07-08 15:24:30
【问题描述】:

我想在我的笔记本电脑上拥有一个数据库,并向我的朋友授予权限和访问权限,以便他们可以在家中读/写。到目前为止我做了什么:

  • 在两台设备上都下载了 MySQL

  • 使用

    在本地服务器上设置用户并授予权限
    CREATE USER 'MyUserName'@'%' IDENTIFIED BY 'MyPassword';
    GRANT INSERT, SELECT ON *.* TO 'MyUserName'@'%';
    FLUSH PRIVILEGES;
    
  • 尝试从 my.ini 文件中查找绑定地址,但没有这样的行。我跑了 show global variables like 'bind_address'; 我得到了 * 的值,所以我猜它允许远程访问。

  • 在两台设备上重新启动 MySQL80 服务

  • 检查入站防火墙规则是否允许访问端口 3306(MySQL 已经设置了一些规则,所以我保持原样)

  • 尝试使用 MySQL shell 从远程服务器连接(我从 icanhazip.com 获得了公共 IP)

    \connect MyUserName@<public IP for my server 92.-.-.->
    

它提示我输入密码,但输入后我得到了

 MySQL Error 1045: Access denied for user 'MyUserName'@'<the IP address>' (using password: YES) 
  • 我尝试使用 powershell 测试连接:

    test-netconnection -computername -port 3306

但它说:

    WARNING: TCP connect to (<IP>) : 3306) failed
    WARNING: Ping to <IP> failed with status: TimedOut 

我什至尝试在同一台本地计算机上使用相同的命令(使用公共和私有 IP)测试连接,但失败了。我不知道从这里去哪里。我已经查看了堆栈上的其他类似问题,但它们似乎都在解决我所做的这些事情之一。

【问题讨论】:

    标签: mysql sql remote-access remote-server


    【解决方案1】:

    我忘记了另外一个防火墙,它位于我的默认网关上。要解决这个问题,它实际上取决于路由器,但我所做的是:

    1. 打开 cmd 并输入 ipconfig 并查找 Default Gateway
    2. 在我的浏览器中输入该 IP 并登录到我的路由器
    3. 找到 LAN IP 设置并为我的设备保留我的 IP
    4. 找到安全选项和防火墙规则,允许入站和出站规则到我的私有 IP 并转发端口。

    【讨论】:

      猜你喜欢
      • 2012-08-10
      • 1970-01-01
      • 1970-01-01
      • 2017-05-06
      • 2019-02-26
      • 2018-09-27
      • 2013-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多