程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> nodejs remote鏈接mysql數據庫總結,nodejsmysql

nodejs remote鏈接mysql數據庫總結,nodejsmysql

編輯:MySQL綜合教程

nodejs remote鏈接mysql數據庫總結,nodejsmysql


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. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved