nodejs链接远端mysql,这个折腾了一个上午才搞定。本以为,直接使用就OK了,但是发现不行,后来查阅各种资料后,终于找到了方法。

nodejs链接远端数据库主要分为几个步骤:

1)安装node-mysql驱动包

2)配置mysql数据库

3)设置系统防火墙

一 安装node-mysql安装包,或许这个是比较简单的,直接采用npm安装工具安装就可以了,npm install mysql --save

二 配置mysql数据库

 mysql服务器端配置远端访问数据库的用户名和密码,这个可以通过直接修改mysql数据库下的user表,增加自己的用户名和密码,或者通过grant 授权的方式给要访问数据的用户名和设置访问权限,起主要的语句为:

  grant select,insert ,update on 数据库.表 to username@'hostname' identified by 'password'

flush privileges;

同时要注意的是:

(1)flush privileges 一定要执行,修改完mysql配置之后,需要重启,我用的是ubuntu12.04 server 所以我的重启命令是 /etc/init.d/mysql restart;

(2) 还要注意mysql的配置文件的配置: /etc/mysql/my.cnf  其中,如果要进行remote access 的话,那么需要把bind-address:地址改为0.0.0.0.

(3)注意myqls.user表中的,用户名对应的host,如果仅是特定的地址或域名,那么一定要指定,如果是任意的地址,那么改为%即可。

三 防火墙的设置
    我的访问数据库服务器的策略是通过windows下的web站点(nodejs)访问远端linux下的mysql ,所以首先需要ping通网络,如果网络ping的时候,没有问题,那么就需要通过     telnet工具访问远端借口是否可以访问。如telnet ip port,如果访问有问题的话,那么说明linux下的防火墙配置有问题,需要放开3306端口的流量进入。

配置防火墙,需要修改或则增加iptables的规则,在unbuntu12.04 server, 下可以通过iptables -L 查看防火墙的配置。
    然后通过 ,iptables命令去修改防火墙配置。由于我的目标主要是想放开3306端口,所以我就采用了如下的命令设置防火墙。

iptables -A INPUT -p tcp -i eth0 --dport 3306 -j ACCEPT

防火墙设置之后,需要保存 iptables -save.
    想要防火墙下次启动时仍然有效,需要把规则保存到独立的文件中,下次启动的时候随着系统的启动,防火墙自动进行配置。假设防火墙配置规则保存到iptable.rules文件中,       那么在保存的时候,需要使用
     iptable-save >> iptables.rules
    然后设置开机启动自动配置,修改/etc/network/interfaces文件,在对应的网卡下增加:

pre-up iptables-restore < /etc/iptables-rules. 保存即可。

从而完成了防火墙的配置。

比较简单,但是折腾了很久,记录一下。

最新文章

  1. [RT][NOIP2015]联合权值
  2. Debian 8.2 下安装MySQL5.7.9 Generic Binaries
  3. 深入浅出设计模式——享元模式(Flyweight Pattern)
  4. Python之Web框架们
  5. 练习prototype的实现
  6. 针对局域网IM飞秋(feiq)的开发总结
  7. asp.net夜话之十一:web.config详解
  8. Javascript实现打字效果
  9. STM32F0308开发环境的选择--CooCox CoIDE篇
  10. Python 手册——参数传递以及交互模式
  11. Java基础知识强化之集合框架笔记10:Collection集合使用的步骤
  12. cobol语言基础培训教程
  13. 如何用SQL SERVER 2005连接SQL SERVER 2008
  14. 代码收藏 JS实现页内查找定位功能
  15. linux下安装cmake和mysql遇到的问题总结
  16. div.2/C. They Are Everywhere&lt;two pointer&gt;
  17. 【Alpha】——First scrum Meeting
  18. linux centos7安装python3
  19. SpringBoot2
  20. django-chunks文件

热门文章

  1. [ES6] 17. Set
  2. iOS开发——语法篇OC篇&amp;高级语法精讲
  3. WebFormJS注册位置
  4. Java元组类型之javatuples
  5. centos安装zendstudio centos系统
  6. Redis 脚本
  7. vim中光标的前进和后退
  8. 深入理解C语言中的指针与数组之指针篇(转载)
  9. PHP.9-HTML+CSS(三)-CSS样式
  10. Curl上传文件