托管 MySql、视图、客户端 IP 地址更改和访问被拒绝

Hosted MySql, Views, client Ipaddress change and Access Denied

我有一个托管 MySql 服务器,其中有许多数据库,每个数据库都有许多视图。我使用 HeidiSql.

从我的办公室远程访问服务器

我办公室的 IP 地址有时会更改。发生这种情况时,我必须使用 cPanel 和 "Remote MySql" 工具将新的办公室 IP 地址添加到服务器,以便我可以再次远程连接。

但是,所有视图都有定义器:USER@OLD_IP_ADDRESS。如果我需要更改视图,我会得到 Access Denied。到目前为止,我一直在删除视图(是的,我可以删除视图)并重新创建它,这使得视图的定义器 USER@NEW_IP_ADDRESS,然后我可以编辑视图——直到 Ip 地址再次更改。

所以,我的问题是:最佳实践是这样的环境。有没有一种方法可以一次性定义视图,并且在不造成安全风险的情况下,能够在 IP 地址更改后编辑视图。

感谢您的指导。

您可以根据您的互联网提供商的 IP 范围,稍微放宽 MySQL 用户帐户中的主机。这样,您就不需要每次获得稍微不同的 IP 时都更改它:

user@123.456.789.%
user@123.456.%

这当然会降低此帐户的安全性,但如果您的密码是一个好密码,应该不会太冒险。

更好的方法是让 MySQL 服务器只能通过 SSH 访问。在这种情况下,您的 MySQL 服务器可以使用 --skip-networking 选项设置,因为您总是从本地主机连接。你的用户帐号可以是user@localhost或user@127.0.0.1,这样就可以永远解决你上面提到的问题了。

HeidiSQL 还支持 SSH 隧道 MySQL 连接,请参阅 here 了解一些教程。