一 安装

node.js 从官网下载

mysql 从官网下载

安装 npm install mysql -g

npm install express -g

之后就可以执行Node脚本连接数据库了


二 安装过程中出现的问题

1 npm install mysql -g 总是报错,install express也是

npm ERR! Linux 4.2.0-36-generic
npm ERR! argv "/home/camille/software/node-v4.4.4-linux-x64/bin/node" "/home/camille/software/node-v4.4.4-linux-x64/bin/npm" "install" "mysql" "-g"
npm ERR! node v4.4.4
npm ERR! npm  v3.9.0
npm ERR! code ECONNRESET

npm ERR! network tunneling socket could not be established, cause=write EPROTO 140468549592960:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protoc

原因:npm 需要配置代理

具体:

npm config set proxy 10.193.22.22:8080 -g(代理地址)

npm config set https-proxy 10.193.22.22:8080 -g 代理地址

or

npm config set proxy http://10.193.250.16:3128
npm config set https-proxy http://10.193.250.16:3128

可以通过npm config get globalconfig查看文件


2 node 连接mysql 数据库时,报错:Error: Cannot find module 'mysql'

module.js:327
    throw err;
    ^

Error: Cannot find module 'mysql'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (C:\Users\Administrator\Desktop\test.js:1:76)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Function.Module.runMain (module.js:441:10)


原因:需要配置node相关的环境变量
windows
NODE_PATHC :\Users\Administrator\AppData\Roaming\npm\node_modules
NODEJS C:\Program Files\nodejs;
ubuntu 
## add for node.js
export NODEJS=/home/camille/software/node-v4.4.4-linux-x64/bin
##add for Cannot find module
export NODE_PATH=/home/camille/software/node-v4.4.4-linux-x64/lib/node_modules
再次执行,就可用了。

3 在windows上安装mysql,需要先彻底清除之前的mysql数据,再重启。

否则容易出现 在配置页一直是无响应,卡住不动了

1)清除旧的mysql数据:

a)控制面板卸载mysql

b)删除folder 

C:\Program Files\MySQL,  C:\Documents and Settings\All Users\MySQL, C:\ProgramData\MySQL

c) 运行“regedit”文件,打开注册表, 删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL

删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL

2)3306端口被占用

a)命令行下输入 netstat -ano,查看占用端口的pid

wKioL1dOncHjiB4cAAAq8B1ZAL0912.png-wh_50

b)打开任务管理器, Processes->View->Select Columns,选中pid

wKioL1dOniWR__1AAACDTyY_YIc456.png-wh_50

查看具体是谁占用,然后删除。