十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
第一个你得有一个外网的IP。。花生壳和88IP做一个简单的域名都可,映射到内部MYSQL服务器上,第二个看能不能PING的通内网服务器。。如果不行,检查防火墙是否禁止PING入。。如果还不能PING,把MYSQL服务器上的防火墙关掉试试。。最近解决这个问题解决的比较多。。我提PLSQL映射!
成都网站设计、网站建设介绍好的网站是理念、设计和技术的结合。成都创新互联公司拥有的网站设计理念、多方位的设计风格、经验丰富的设计团队。提供PC端+手机端网站建设,用营销思维进行网站设计、采用先进技术开源代码、注重用户体验与SEO基础,将技术与创意整合到网站之中,以契合客户的方式做到创意性的视觉化效果。
路由如果没有自带的VPN。。。。请问外网怎么找到内网的服务器上??内网服务器必须要在公网上有一个IP地址啊。所以服务器必须得装一个域名软件,你那个在防火墙上的所谓映射只是允许服务器上的1433口允许对外开发而已,而且如果外网客户端不能上外网的话。。是访问不了的。这时你应该在目标客户端所在的路由上允许1344端口的访问。。
1. 允许外网访问MySQL,首先得让MySQL服务器有一个能和外网直接连接的公网的IP,就是不能是10.x.x.x , 172.16.x.y--172.31.x.y, 192.168.x.y的IP地址,
2. 然后在MySQL上执行如下语句:
grant all peivilegess on *.* to root@'%' identified by '密码';
flush privileges;
3. 打开防火墙,或配置防火墙允许3306端口通过
一般情况下,MySQL数据库服务器不允许外界直接访问,如果要访问的话,可以安装一个web页面的东西(比如phpmyadmin),通过访问页面的形式来访问数据库服务器。
整体简介:
为了安全起见默认情况下Mysql数据库的监听地址是127.0.0.1,就是指本机下的程序才能访问。
监听地址是0.0.0.0 ,表示该mysql允许所有IP地址进行连接,这是允许远程连接的基础
监听地址是127.0.0.1,则代表该mysql只允许所在服务器本机连接,外网是无法连接的
所需工具原料:
Linux,apache,php,mysql
解决方法:
1. 用命令vi 编辑/etc/mysql/my.cnf 如图:
在[mysqld]节中增加下面一行:
2. bind-address=0.0.0.0 #全部地址或者指定的ip地址如图所示
3. 重启服务
service mysqld restart
4. Linux服务器中执行如下命令可以查看: netstat -nutlp|grep mysql(只查看mysql的监听), netstat -tln(查看所有的监听)是否成功。
1,明确MySQL数据库内网访问地址端口,确保MySQL数据库服务正常,在内网可以正常访问连接。如我本机MySQL数据库访问地址是localhost:3306。
2.内网使用花生壳动态域名解析,内网服务器安装花生壳,并使用它。
3.使用自己的帐号登录。如没有帐号,“注册帐号”进入网站进行注册帐号。正常登录后,会显示登录帐号下的域名。
4.做映射。在默认域名的地方点击花生壳管理添加映射。点击当前主机。内网任何端口映射,获取外网随机端口,点击确认。
mysql开启远程连接:
以 root用户登入mysql
GRANT all privileges ON wang.* TO 'wang'@'%' identified by 'wang';
flush privileges;
请点击输入图片描述
修改配置文件
vi /etc/mysql/my.cnf
把bind-address = 127.0.0.1 这行注掉
重启数据库
service mysql restart
请点击输入图片描述
本地测试连接3306端口
telnet 192.168.1.77 3306 若已连通
确定已安装mysql客户端which mysql
/usr/bin/mysql
然后mysql -uwang -h192.168.1.77 -p 看能否登录
请点击输入图片描述
外网如何利用网络辅助nat123实现访问内网mysql数据库?
网络环境:动态公网IP。
明确mysql数据库内网访问地址端口,确保mysql数据库服务正常,在内网可以正常访问连接。内网使用nat123动态域名解析。内网服务器安装nat123客户端,并使用它。登陆。进入主面板/域名解析列表/添加域名。选择动态域名解析记录,使用二级域名,或自己的域名。鼠标放在输入框有向导提示。
请点击输入图片描述
路由器端口映射,路由映射mysql数据库访问端口。
因为公网IP是在路由器上的,外网访问时,需要经过路由,需要在路由器上做端口映射,将内网mysql数据库访问端口打通。路由器端口映射位置:转发规则/虚拟服务器/添加允许外网访问端口和协议。我的mysql数据库端口是默认的3306,我内网对应mysql数据库主机的内网IP地址是192.168.1.22。
请点击输入图片描述
外网访问时,使用动态解析域名。
在外网访问mysql数据库时,使用动态解析域名进行连接访问。域名是不变的,可以上网即可访问,再也不担心动态公网IP变化的问题。
请点击输入图片描述
设置mysql服务允许外网访问,修改mysql的配置文件,有的是my.ini,有的是my.cnf【linux】.
1:设置mysql的配置文件
/etc/mysql/my.cnf
找到 bind-address =127.0.0.1 将其注释掉;//作用是使得不再只允许本地访问;
重启mysql:/etc/init.d/mysql restart;
2:登录mysql数据库:mysql -u root -p
mysql use mysql;
查询host值:
mysql select user,host from user;
如果没有"%"这个host值,就执行下面这两句:
mysql update user set host='%' where user='root';
mysql flush privileges;
或者也可以执行:
mysqlgrand all privileges on *.* to root@'%' identifies by ' xxxx';
其中 第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样 *.*的话表示所有到数据库下到所有表都允许访问;
‘%':表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;
后面到‘xxxx'为root 用户的password;
举例:
任意主机以用户root和密码mypwd连接到mysql服务器
mysql GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql flush privileges;
IP为192.168.1.102的主机以用户myuser和密码mypwd连接到mysql服务器
mysql GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.102' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql flush privileges;