如何允许所有客户端访问远程 MySQL 服务器?

如何允许所有客户端访问远程 MySQL 服务器?

所以我跟着本指南使我的笔记本电脑能够远程访问 MySQL 服务器。但是,我的 IP 发生了变化,我希望能够访问我网络之外的服务器。如果客户端 IP 有密码,我该如何允许他们访问它?

以下是我所指的主要命令:

mysql> use mysql
mysql> GRANT ALL ON *.* to root@'client.ip.goes.here' IDENTIFIED BY 'your-root-password'; 
mysql> FLUSH PRIVILEGES;

有什么办法吗?

答案1

我以前也遇到过类似的问题。我的解决方案是通过 SSH 隧道建立 MySQL 连接。这种方法快速而粗糙,但很有效。首先,使用 my.cnf 将 MySQL 绑定到 127.0.0.1 &

绑定地址 = 127.0.0.1

这意味着 MySQL 在网络中不再可用。除非查询来自本地主机,否则它不会再回答任何查询。之后,我安装并配置了 openssh。我不会在这里讨论这个,每个人都有自己最好的想法。只需确保 SSH 在您的网段(或您需要的任何地方)可用。在客户端上,我启动了一个 SSH 隧道。

MySQL客户端:~# ssh -f -L 3306:127.0.0.1:3306 mysqluser@MySQL服务器-N

现在可以通过我的客户端访问 MySQL。只需

mysql -u 根-p -h 127.0.0.1

我经常使用它并且它很有效。

希望对您有帮助。

答案2

授予全部到 root@'%' IDENTIFIED BY 'your-root-password';

不过,仅使用密码授予完全访问权限有点丑陋。我建议你使用SSL 密钥对于 root 登录,如果您确实需要完全远程访问。

相关内容