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连接远程MySQL数据库_nodejs remote链接mysql数据库总结相关推荐

  1. 数据库只能内网连接,但是需要远程连接怎么办?通过SSH隧道链接mysql

    数据库只能内网连接,但是需要远程连接怎么办?通过SSH隧道链接mysql 公司新项目上线,需要将项目部署到云端,买了运营商的云主机和云数据库.但是有个问题,云数据库只能内网连接,无法在公司直接连接数据 ...

  2. jdbc显示mysql的数据_JDBC链接mysql插入数据后显示问号的原因及解决办法

    1.在cmd中进入mysql查看默认的编码格式: mysql> show variables like "%char%"; 若不是utf8(因为我用的是utf8),关掉mys ...

  3. javabean连接mysql数据库,jsp+javabean 链接 mysql 数据库

    JSP+JavaBean html 一.JavaBean类java 首先先澄清  这个三个都是绝对路径 没有相对路径, E://test.txt 和 E:/test.txt 是一个意思  E:\\te ...

  4. mysql pdo 端口_链接Mysql的api mysqli和pdo

    HP 5 及以上版本建议使用以下方式连接 MySQL : MySQLi extension ("i" 意为 improved) PDO (PHP Data Objects) PDO ...

  5. 用nodejs链接mysql并从其中提取数据

    链接mysql 首先是需要在其中导入mysql的包并且下载mysql npm -i mysql -s 命令下载mysql包 导包 let mysql = require('mysql') 然后创建链接 ...

  6. git 连接远程仓库并推送代码

    git 初始化 在所需推送的文件夹/父文件夹(后面将会解释两者的不同)下打开 git Bash,并输入下面命令进行初始化: git init git 设置连接远程仓库 在 github 上找到你需要连 ...

  7. git连接远程仓库拉去代码——阿里云

    前置设置: 1.配置用户名和邮箱: git config --global user.name "xxx" git config --global user.email xxxx@ ...

  8. 第六章 (数据库)第2节 数据库基础

    文章目录 一.认识数据库 1.什么是数据库 2.数据库的特点及作用 3.常见的数据库 4.工具基本结构介绍 5.认识一些基本常见命令 二.win10系统安装mysql和图形工具 三.Mac系统中安装M ...

  9. mysql连接oracle数据库服务器_Oracle 远程链接oracle数据库服务器的配置

    远程链接oracle数据库服务器的配置 by:授客 QQ:1033553122 原理: 一.Oracle客户端与服务器端的通讯机制 1.OracleNet协议 如下图所示,Oracle通过Oracle ...

最新文章

  1. 微服务架构 — 微服务框架
  2. SpringBoot - 优雅的实现【业务校验】高级进阶
  3. dlut-KFQ人工智能导论答案1
  4. as3 字符处理函数
  5. 百度SDN实践与思考
  6. opencv 学习第4课 将鼠标作为笔刷使用
  7. cudaMemcpy的性能问题
  8. DICM和BMP图像的显示及转换
  9. Visio中添加、移动或删除形状上的连接点的方法
  10. JAVA导入不同包的同名类调用原则小结
  11. 我如何构建一个交互式仪表板Web应用程序以可视化拳击数据
  12. Google的搜索来源分布跟踪解读:GGGL与GGLD,sourceid和client,rlz,rls等
  13. 在 CloudIDE 里实现天猫精灵自定义技能的业务逻辑
  14. 荆楚理工学院计算机科学专业,2017荆楚理工学院专业排名
  15. 脑波设备mindwaveTGC接口示例
  16. 缓存服务器 MemcachedRedis
  17. TVS管电路原理图符号及选型举例
  18. 日历选择器html,日历选择器 - 常见 Web 特效实践
  19. 说说区块链,说说初链
  20. 【水文模型】05 参数不确定性分析方法

热门文章

  1. windows Server 2003中NTBackup恢复到Windws Server 2008/R2
  2. SQL Server 索引使用分析(1)- 索引结构
  3. Linux 命令(52)—— ipcrm 命令
  4. span 超出部分换行
  5. ubuntu下python安装pandas和numpy等依赖库版本不兼容的问题RuntimeWarning: numpy.dtype size changed...
  6. 17、Flask实战第17天:Flask-cookie
  7. vim 显示tab键
  8. shell 脚本创建虚拟机 并配置网卡ip地址(两个脚本)
  9. 互联网分层架构的本质
  10. 【18】Python半成品购物车