长久以来,一直想实现远程访问内网群晖的mysql数据库,这样数据库文件就可以保存在本地了,增加了网站的安全性。
但是一直以来都没有成功,今天终于把这个问题解决掉了,实现了外网远程访问内网群晖的mysql数据库,
建立在外部的网站,可以使用内网的群辉mysql数据库了!
过程很曲折,但结果是好的,下面把我折腾的过程写下来供大家参考!
首先我内网群晖安装的数据库是MariaDB5的数据库版本,
内网有公网IP,通过ddns使内网的地址可以持续被外网访问到,
详细的ddns设置方法,可以通过右上角的搜索框查询。
然后,网上有很多的教程,设置数据库外网访问的权限,
我大概写一下,
打开mysql配置文件vi /etc/mysql/my.cnf
将bind-address = 127.0.0.1注销
#bind-address = 127.0.0.1
ssh登录群辉,
mysql -u root -p
使用上面命令进入mysql,如下图所示
提示输入密码,这个密码是数据库的root密码,与群辉的密码不要搞混了,
然后输入以下命令
use mysql
进入你所要远程访问的数据,如果你要远程访问的数据库名为123,
那么命令就是
use 123
这点折腾了我好久,我需要远程访问的数据库名不是mysql,所以我按照第一个进入mysql数据库的命令执行,一直不成功。
重点来了,按照以下代码执行
grant all privileges on *.* to root@'%' identified by '123456';
授权格式:grant 权限 on 数据库.表 to 用户名@登录主机 identified by "密码";
这里面,我把*.*的第一个星号,换成了自己的数据库名,第二个星号不变,
root是访问数据库的用户名,最好换成其他的,避免被人暴力破解,
密码也建议使用复杂的安全密码。
grant all privileges on *.* to root@'%' identified by '123456';
以上红色部分需要各位自行替换即可!
百分号'%'是允许外网登录!一定不要搞错!
然后接下一个命令
flush privileges;
这个命令是为了刷新系统权限表,不刷新是不行的。
到这里,基本上就可以实现远程访问了。
下面查看一下是否生效,
select host,user from mysql.user;
查看权限是否修改成功了。
好了,可以去尝试一下远程访问并连接数据库了!
至于如何修改密码,删除权限,删除用户等等的命令,
大家百度自己寻找一下即可!度娘什么都知道!
忘了说一句,因为我的是内网,3306的默认端口被ISP服务商屏蔽了,
所以需要自己在路由器上做一个端口映射,这样才能使内网群晖的mysql数据库正常的被远程服务器连接上。
更改外部的端口,对自己的内网服务器的安全,也是一个有效的保护!
端口映射的问题,这里不再多说,
如果有需要帮助的朋友,可以在右下角扫描二维码找我咨询,
也可以左下角发邮件给我。
很乐意能给大家分享我的经验。
本文来源:一江山水的随笔
本文地址:https://blog.298.name/post/72.html
主要内容:远程访问内网群晖mysql数据库的方法
版权声明:如无特别注明,转载请注明本文地址!