mysql服务器ubuntu远程连接的端口fowarding

时间:2017-08-28 03:11:34

标签: mysql ubuntu tcp server ubuntu-server

我有一个ubuntu 16.04,我从virtualbox(一个网络服务器,一个家庭文件服务器和一个mysql服务器)运行3个服务器。

在这个mysql服务器中,我自然有一个内部ip(192.168 ....)和一个外部IP。

然而,当我尝试使用此虚拟机的外部IP从mysql shell,workbench或.NET连接器(例如mysql -u root -p -h 172.241.442.12)远程连接到此mysql服务器时,我总是得到ERROR :未连接。

我的问题是是否要连接我必须在我的路由器中启用端口转发(3306),就像我在网络服务器中启用80/8080以使其可以从互联网访问一样。

我之前从未这样做过,也没有找到任何明确的教程。我的主要目的是在vb.net应用程序中连接到此数据库。

谢谢!

1 个答案:

答案 0 :(得分:1)

是的,如果您打算以这种方式访问​​它,则需要转发端口。您还需要为允许远程访问的用户授予对MySQL的访问权限。

GRANT ALL ON somedb.* TO `user`@`123.123.123.123` IDENTIFIED BY 'somePassword'

IP地址可以是主机名,也可以是%来匹配所有内容。

那就是说,除非你真的需要一个永久的外部连接到MySQL,你不应该像这样暴露它,更好的选择是通过SSH隧道端口。

ssh -N user@dbserver -L12345:localhost:3306 &
mysql -u root -h localhost -P 12345