新闻资讯

如何开启mysql 远程访问权限?花生壳如何实现外网访问数据库?

2021-12-2

在工作中使用远程连接时,因为系统默认是不开启远程服务的,所以我们只能通过mysql 远程访问功能进行远程连接操作,这样大家就可以在异地实现数据共享等功能。大家经常使用的花生壳就可以远程连接mysql数据库,下面小编就带领大家了解一下花生壳mysql 远程访问应该怎么设置。

如何开启mysql 远程访问权限?

1、登录到mysql中,为root进行远程访问的授权,执行下面的命令:
mysql> GRANT ALL PRIVILEGES ON . TO root@"%" IDENTIFIED BY "root";
mysql> flush privileges;
第一句中"%"表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如:
GRANT ALL PRIVILEGES ON . TO root@"172.168.2.135" IDENTIFIED BY "root";
第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。
默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限。
主流的有两种方法,改表法和授权法。
相对而言,改表法比较容易一点,个人也是比较倾向于使用这种方法,因此,这里只贴出改表法:
1、登陆mysql
mysql -u root -p
2、修改mysql库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将localhost改为192.168.2.135,这表示只允许局域网的192.168.2.135这个ip远程访问mysql。
?mysql> use mysql;? ?
?mysql> update user set host = '%' where user = 'root';? ?
?mysql> select host, user from user;? ?
?mysql> flush privileges;
防火墙开放3306端口:
1、打开防火墙配置文件
?vi? /etc/sysconfig/iptables
2、增加下面一行
?-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
3、重启防火墙
?service? iptables restart
4、注意:增加的开放3306端口的语句一定要在icmp-host-prohibited之前
附,我机器上的iptables 防火墙的设置:
Firewall configuration written by system-config-firewall? ?
Manual customization of this file is not recommended.? ?
?*filter? ?
?:INPUT ACCEPT [0:0]? ?
?:FORWARD ACCEPT [0:0]? ?
?:OUTPUT ACCEPT [0:0]? ?
?-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT? ?
?-A INPUT -p icmp -j ACCEPT? ?
?-A INPUT -i lo -j ACCEPT? ?
?-A INPUT -i eth0 -j ACCEPT? ?
?-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT? ?
?-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT? ?
?-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT? ?
?-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT? ?
?-A FORWARD -p icmp -j ACCEPT? ?
?-A FORWARD -i lo -j ACCEPT? ?
-A FORWARD -i eth0 -j ACCEPT? ?
?-A INPUT -j REJECT --reject-with icmp-host-prohibited? ?
?-A FORWARD -j REJECT --reject-with icmp-host-prohibited? ?
COMMIT?

花生壳如何实现外网访问数据库?


一、测试数据库服务
首先确认在内网中使用mysql 数据库的局域网IP和端口能够访问到数据库服务。确认数据库服务器本机IP地址的方法,可以在CMD命令行中查看。
方法:按住win键+R键,调出运行窗口,输入“cmd”点击确定。
在命令提示符界面输入“ipconfig”命令并回车,即可查看到内网IP地址(IPv4地址)。
例如本机IP为10.168.1.172,数据库默认端口为1433,则在mysql 数据库登录界面的服务器名称中填入:10.168.1.172,1433,然后点击连接按钮,测试数据库是否成功访问。
注意:IP和端口之间为英文输入法下的逗号。
二、安装花生壳盒子
使用前,将花生壳盒子先接上电源,使用网线将花生壳盒子连接至路由器/交换机,显示白灯常亮,即花生壳盒子在线。
三、登录b.oray.com进行管理
首次使用花生壳盒子需先激活,浏览器输入花生壳管理地址(b.oray.com)并访问,在登录页面输入SN码与密码(首次登录默认密码admin)登录;
然后根据提示扫描二维码或输入帐号密码,进行激活并完成授权操作
四、添加映射
在花生壳管理内添加内网映射:①点击内网穿透 ②点击加号新增内网映射
填写:数据库服务器的映射信息:
①应用名称:自定义
②应用图标:为你的应用选择一个图标
③映射类型:TCP
④映射模板:里面内置了一些常用的映射模板,可以根据需要进行选用
⑤外网域名:选择当前帐户下可用的域名用于外网访问当前映射
⑥外网端口:选择动态或者固定端口用于连接服务
⑦内网主机:填写搭建服务的服务器的IP地址
⑧内网端口:填写服务器上的服务使用的端口号
⑨带宽:帐户根据自身等级享受对应的带宽服务,用户也可以根据需求进行带宽升级,每条映射可分配的带宽上限为10Mbps
确认映射的信息填写无误后,点击确认。可以看到生成的外网访问地址及端口,复制外网访问地址。
五、外网访问测试
在外网的mysql 数据库登录界面中输入花生壳中的外网访问地址、端口以及输入mysql 的登录名和密码进行连接;
测试外网访问mysql 数据库成功!
花生壳是国内知名内网穿透服务商,无需公网IP、自带端口映射。通过花生壳盒子可以实现外网设备访问内网的数据库服务器,搭配内网穿透功能,即可将内部服务映射到外网实现域名访问。