我正在尝试远程转储位于 VPN 后面的 MySQL 数据库(我已使用 VPN):
mysqldump.exe -h 10.39.23.111 -u dbuser -p remoteschema > c:\temp\mysql.sql
我收到的错误信息是:
mysqldump: Got error: 1045: Access denied for user 'dbuser@%'@'192.168.0.8' (using password: YES) when trying to connect
。192.168.0.8 是我的 VPN 中的 IP 地址。
我如何指定我想要的[电子邮件保护]还是机器的 IP?每当我添加 IP 时,MySQL 都会将其与我的 VPN IP 连接起来。
例如,我尝试:
mysqldump.exe -h 10.39.23.111 -u [email protected] -p remoteschema > c:\temp\mysql.sql
我收到以下错误:
mysqldump: Got error: 1045: Access denied for user '[email protected]'@'192.168.0.8' (using password: YES) when trying to connect
。192.168.0.8 是我的 VPN 中的 IP 地址。
在这种情况下我该如何成功连接?
答案1
MySQL 用户权限系统始终使用远程 IP 作为用户身份验证凭证的一部分。
因此,当您使用用户名dbuser
从您的 IP 连接192.168.100.100
到数据库服务器时,MySQL 会检查dbuser
他使用时是否是允许的用户192.168.100.100
。
MySQL 服务器决定连接时使用的远程 IP 地址,您无法更改它。
您可以尝试从自己的计算机建立到服务器的 SSH 连接并建立到 MySQL 端口的隧道。例如,ssh -L 3306:dbserver:3306 user@dbserver
其中dbserver
是数据库服务器的 IP 地址。