一 安装
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
b)打开任务管理器, Processes->View->Select Columns,选中pid
查看具体是谁占用,然后删除。
4