nodejs remote链接mysql数据库总结

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 [email protected]‘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. 保存即可。

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

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

时间: 2024-08-26 04:10:19

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

php链接Mysql数据库

PHP链接Mysql数据库: 1:首先打开软件(WampServer再点击鼠标左键,再点phpMYAdmin最后打开的页面是 再填用户名,密码可以写不可写,最后再点执行就出现这个页面 再点test新建表名)最后就在mysql里面创建表格,在表格里面可以添加数据.查询数据.删除数据.修改数据 例: (1):添加数据INSERT INTO `message`(`id`, `user`, `title`, `content`, ` lda te`) VALUES ('','张三','学习php','飞

PHP链接Mysql数据库的小知识

1:在PHP写隔行变色有三种写法(但是最好的是用js+css) (1)CSS: tr:nth-child(even){             background: #cad9ea;         } even:代表偶数: ood:代表奇数:   (2)PHP: <?php                 if($n %2 == 0){            ?>            <tr style="background: #cad9ea"> <

JSP_实现Servlet登陆,注册,链接Mysql数据库。

本文http://blog.csdn.net/svitter 也是一个MVC的实例 源码:http://download.csdn.net/detail/svitter/7532621 user.sql: -- phpMyAdmin SQL Dump -- version phpStudy 2014 -- http://www.phpmyadmin.net -- -- 主机: localhost -- 生成日期: 2014 年 06 月 21 日 17:42 -- 服务器版本: 5.5.38 -

JSP使用UTF-8链接MYSQL数据库(UTF8)乱码以及连接失败问题以及更改mysql默认编码

JSP使用UTF-8链接MYSQL数据库(UTF8)乱码以及连接失败问题: 前言,服了这些大公司,做的数据库都不人性化...我忙了很久才搞定的说 csdn好像传不了图片了...本来想来几张的,大家将就... 1.在windows下mysql的数据库是utf8编码的时候,连接失败(注意mysql中不是UTF-8,而是utf8) 情况,显示?在网页上(网页设置的UTF-8编码) 用户ID号码 用户名称 用户密码 用户地址 47 g? 1243 null 48 ? 1243 null 49 ?123

pydev-python 链接mysql数据库(mac系统)

1.首先实现命令行下可运行mysql 这一部分网上有一位大神说的已经很清楚了,直接引用过来,多谢哈.引用:http://www.lihui.info/mac-pydev-mysqldb/ 在mac os上安装MySQLdb,遇到了很多问题,总结一下: 首先,如果用sudo easy_install mysql-python命令安装,基本上不会成功的,原因有两个:一是找不到mysql_config位置,二是现在基本上安装的是64位的系统和64位的python,和默认的32位安装包冲突. 所以只能自

Python3链接MySQL数据库

Python 2.x 上连接MySQL的库倒是不少的,其中比较著名就是MySQLdb(Django项目都使用它:我也在开发测试系统时也使用过),见:http://sourceforge.net/projects/mysql-python/ 不过,目前MySQLdb并不支持python3.x,网上找了一些方法,后来我还是偶然发现MySQL官方已经提供了MySQL连接器,而且已经有支持Python3.x的版本了.MySQL Connector/Python, a self-contained Pyt

JDBC链接Mysql数据库+执行sql

package com.wangbingan.utils; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; /**  * JDBC链接数据库  *   * @author Administrator  *   */ public class JdbcUtil { public static void main(Strin

SQLServer 远程链接MySql数据库

第一步:安装MySQL odbc driver 在SQL SERVER所在主机上安装MYSQL ODBC Driver; 下载地址:http://dev.mysql.com/downloads/connector/odbc/ 找到合适自己操作系统的版本下载并安装 第二步:配置ODBC数据源 打开[管理工具]—>[数据源(ODBC)],选择[系统DSN],点击[添加],选择[MySQL ODBC 5.3  Unicode Driver],完成 输入自定义的数据源名称XXX和描述,输入要连接的mys

Windows7-32位系统下R语言链接mySQL数据库步骤

安装R和MySQL在此就不再多说了,网上有很多教程可以找到.下面直接进入到odbc的安装流程. 1.下载安装mysql-connector-odbc-5.x.x-win32.msi 下载地址:http://dev.mysql.com/downloads/connector/odbc/可下载最新版本 但在安装过程中遇到以下问题(经测试win10-64位版本下安装mysql-connector-odbc-5.3.6-winx64.msi不会出现该问题): Error 1918. Error inst