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. 保存即可。

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

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

nodejs remote链接mysql数据库总结的更多相关文章

  1. Python学习笔记9-Python 链接MySql数据库

    Python 链接MySql数据库,方法很简单: 首先需要先 安装一个MySql链接插件:MySQL-python-1.2.3.win-amd64-py2.7.exe 下载地址:http://dev. ...

  2. Tomcat通过JNDI方式链接MySql数据库

    原文:Tomcat通过JNDI方式链接MySql数据库 拷贝MySQL的JDBC驱动到Tomcat的lib路径下 配置全局数据源或者单个Web应用的局部数据源 局部数据源 在Tomcat的conf/C ...

  3. C# 链接MySql数据库

    C# 链接MySql数据库只得注意的几点: 1.C#链接MySql数据库要在网上下载一个mysql-connector-net-6.0.4-noinstall.rar  这里面放的都是一堆dll .将 ...

  4. 写给小白的JAVA链接MySQL数据库的步骤(JDBC):

    作为复习总结的笔记,我罗列了几个jdbc步骤,后边举个简单的例子,其中的try块请读者自行处理. /* * 1.下载驱动包:com.mysql.jdbc.Driver;网上很多下载资源,自己找度娘,此 ...

  5. Java链接MySQL数据库的用配置文件和不用配置文件的代码

    1.利用配置文件(db.properties)链接MySQL数据库 package tool; import java.io.FileInputStream;import java.sql.Conne ...

  6. SQLServer 远程链接MySql数据库详解

    SQLServer 远程链接MySql数据库详解 by:授客 QQ:1033553122 测试环境: Microsoft Windows XP Professional 版本2000 Service ...

  7. Java基于jdbc链接mysql数据库步骤示列

    用JDBC来链接MYSQL数据库,基本步骤都大同小异,只不过不同的数据库之间的URL地址有些不同.其基本步骤可分为以下几点: 1.加载相应的数据库的JDBC驱动程序. 2.利用驱动管理器DriverM ...

  8. jmeter链接mysql数据库

    一.下载与MySQL对应的jar包 1.1.查询MySQL的版本, 命令语句 :SELECT VERSION(); 1.2.MySQL官网下载jar包 ,https://downloads.mysql ...

  9. 用PHP链接mysql数据库

    PHP提供了两套数据库可用于访问mysql数据库 1)MySQL扩展函数数据库 2)MySQLI扩展数据库(improved) 使用MySQLI函数访问MySQL数据库步骤 1)链接数据库管理系统 m ...

随机推荐

  1. Android apk的安装、卸载、更新升级(通过Eclipse实现静默安装)

    一.通过Intent消息机制发送消息,调用系统应用进行,实现apk的安装/卸载 . (1) 调用系统的安装应用,让系统自动进行apk的安装 String fileName = "/data/ ...

  2. 解决MySQL不允许从远程访问的方法

    mysql -u root -p mysql>use mysql; mysql>select 'host' from user where user='root'; mysql>up ...

  3. hive-0.10.0-cdh4.3.0安装

    1.我使用的Hadoop2.0-cdh4.3.0,相应hive配套版本号hive-0.10.0-cdh4.3.0.    2.改动hive/conf下hive-site.xml文件,无则创建hive- ...

  4. Ajax条用WebService 5星级

    转:http://www.cnblogs.com/frozenzhang/p/ajax.html 随笔- 2 文章- 0 评论- 5 $.ajax()调用webservice   常规请求基本格式 [ ...

  5. 【BZOJ1486】【HNOI2009】最小圈 分数规划 dfs判负环。

    链接: #include <stdio.h> int main() { puts("转载请注明出处[辗转山河弋流歌 by 空灰冰魂]谢谢"); puts("网 ...

  6. Google搜索语法

    原文:http://www.jianshu.com/p/37fe4f1381ef 前言 之前听过一个笑话,有人打开浏览器,输入www.baidu.com, 然后搜索框输入Google,查询google ...

  7. Line Search and Quasi-Newton Methods

    Gradient Descent 机器学习中很多模型的参数估计都要用到优化算法,梯度下降是其中最简单也用得最多的优化算法之一.梯度下降(Gradient Descent)[3]也被称之为最快梯度(St ...

  8. or1200下raw-os(仿真环境篇)

    貌似最近都在公司混日子过了,怎么办?哎哎哎~罪过啊罪过,不过也是的,加工资居然没我份,顶领导个肺的,叫我怎么继续活啊~哎哎哎~ 算了,不谈这些鸟事情了,说多了都是泪啊,这篇blog开始我们进入raw- ...

  9. Cloudera集群中提交Spark任务出现java.lang.NoSuchMethodError: org.apache.hadoop.hbase.HTableDescriptor.addFamily错误解决

    Cloudera及相关的组件版本 Cloudera: 5.7.0 Hbase: 1.20 Hadoop: 2.6.0 ZooKeeper: 3.4.5 就算是引用了相应的组件依赖,依然是报一样的错误! ...

  10. XGPush集成(信鸽集成)

    #import "AppDelegate.h" #import "XGPush.h" #import "XGSetting.h" #defi ...