外网和内网远程登录mysql和postgresql

来源:互联网 发布:劲舞淘宝商城 编辑:程序博客网 时间:2024/05/16 16:05

(本文基于linux)最近,在路由里面转发规则进行了一下配置,将自己的web项目发布到了外网可访问~~~同时,我也在想,是不是也可以将自己的mysql服务也像web一样通过设置,外网也可以链接我本地的数据库~~~其实,在局域网内,大部分童鞋都已经尝试过了~~~原理基本上都是一样的(注意防火墙)。

1.首先,mysql默认是禁止远程链接的,我们需要在配置文件里配置以下

在终端里面输入: sudo vim /etc/mysql/my.cnf

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#将以下一行注视掉就可以远程登录,默认是只能本地登录的
#bind-address           = 127.0.0.1

然后,保存退出~~~

然后,重启mysql服务~~~


然后,运行:mysql -h localhost -u root  -p root

登录mysql,然后运行:grant all privileges on *.* to root1@'%' identified by "root1";

这里解释一下,如果%为你的外网IP,那么仅仅能外网连本地mysql,这里是%,表示任何IP都可以,比如说,有一天你的外网IP变了,%的优势就来了~~

好的,这时候,退出,在运行:mysql -h 123.67.177.38 -u root1  -p root1

123.67.177.38为你的外网IP~~~

当然,这时候还需要在路由器里配置以下转发规则,将3306端口映射到外网~~~

ok~~这时候,你就可以登录了~~~~把外网IP换成你的内网IP也可以的~~~

这样每次你的外网IP变了也不怕,再编辑一下链接信息即可~~~


外网也可以访问你的mysql服



来看一下建立的三种链接的截图:

1,localhost本地链接

2,192.168.1.102局域网内建立的链接

3,123.66.177.38外网建立的链接














好了,我们来看一下postgresql远程链接的设置。当然,想将postgresql服务发布到外网的话,也得需要在你的路由里将端口做一下映射,默认的端口是5432

1,在ubuntu上装好postgresql之后,首先你需要设置以下初始密码(设置过程不再叙述,网上有的)

2,找一下pg_hba.conf这个文件,我的是在/etc/lib/postgresql/9.3/ 下,

在最后一行,添加上

  host     all                        all           0.0.0.0/0    trust

(至于什么意思呢,百度去吧)

3,更改文件postgresql.conf,字段listen_addresses = '*',注意去掉前面的注释符号'#';

4,然后,重启postgresql服务 /etc/init.d/postgresql    restart/stop/start


OK~~

看一下,截图吧~~~


123.66.179.92是外网IP










0 0