項目中需要使用mysql數據庫,下面就介紹下怎么訪問mysql,這里我使用的mac進行開發的,首先需要下載mysql,地址:http://dev.mysql.com/downloads/mysql/,參考這篇安裝http://dev.mysql.com/doc/refman/5.0/en/macosx-installation.html
安裝完成后可以在偏好設置里面看到mysql,通過這個可以啟動關閉mysql,默認安裝完成后,數據庫的root用戶是沒有密碼的,為了方便操作,這里我又安裝了一個mysql的圖形化操作工具sequelpro.
下載地址:http://www.sequelpro.com/download/
以root登錄后可以給root用戶加上密碼,
上面是對mysql安裝進行了簡單的介紹,下面介紹下怎樣使用nodejs訪問mysql.
創建express項目,這里我使用的db-mysql
官方網址:http://nodejsdb.org/db-mysql/
根據它上面的介紹,在這之前需要在命令行中運行下面這個命令:
export MYSQL_CONFIG=/usr/local/mysql/bin/mysql_config
然后安裝db-mysql,代碼如下:
npm install db-mysql
然后編寫一個js文件,這里我參考官方例子,自己寫了一個讀取mysql中的test數據庫中user表中的數據,代碼如下:
- var mysql = require(‘db-mysql’);
- new mysql.Database({
- hostname: ‘localhost’,
- user: ‘root’,
- password: ‘password’,
- database: ‘test’
- }).connect(function(error) {
- if (error) {
- return console.log(‘CONNECTION error: ‘ + error);
- } //Vevb.com
- this.query().
- select(‘*’).
- from(‘user’).
- execute(function(error, rows, cols) {
- if (error) {
- console.log(‘ERROR: ‘ + error);
- return;
- }
- for(var i=0;i<rows.length;i++){
- console.log(rows[i].name );
- }
- });
- });
很簡單,然后我用行這個js,但是出現了問題:
- throw e; // process.nextTick error, or ‘error’ event on first tick
- ^
- Error: Unable to load shared library /Users/wanzhang/WebstormProjects/ReadMysql/node_modules/db-
- --代碼如下
- mysql/build/Release/mysql_bindings.node
- at Object..node (module.js:472:11)
- at Module.load (module.js:348:31)
- at Function._load (module.js:308:12)
- at Module.require (module.js:354:17)
- at require (module.js:370:17)
- at Object.<anonymous> (/Users/wanzhang/WebstormProjects/ReadMysql/node_modules/db-mysql/db-mysql.js:18:15)
- at Module._compile (module.js:441:26)
- at Object..js (module.js:459:10)
- at Module.load (module.js:348:31)
- at Function._load (module.js:308:12)
解決方法:
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/
然后再運行這個js文件,ok,會打印出表中數據,上面就是nodejs訪問mysql一個簡單例子.
新聞熱點
疑難解答