天天看點

egg裝mysql驅動_Egg配置 MySQL

初學者學到Egg.js配置MySQL,特别是從未接觸過後端的同學,這篇文章很值得你看,因為我就是初學egg.js的,并且也是初次接觸MySQL,在這一次配置的時候,我踩了很大一個大坑,話不多說請看步驟;以下内容都是參考官網和自學總結經驗;

此經驗僅限與MAC系統,windows系統沒有嘗試過,但是應該會有類似的坑!!!

Egg初始化項目

1、npm I egg-init -g (全局安裝)

2、egg-init eggdemo --type=simple (初始化項目,eggdemo001是項目名字)

3、cd /eggdemo (進入項目中)

4、npm i (下載下傳所有依賴)

5、sudo npm run dev (啟動服務: 預設位址是 —> http://127.0.0.1:7001 )

恭喜你初始化了一個egg的項目,是不是很簡單

檔案結果簡單介紹:

因為這裡最主要的是講Egg配置MySQL

egg裝mysql驅動_Egg配置 MySQL

未命名檔案 (1).jpg

安裝MySQL插件

1、npm i --save egg-mysql

2、開啟插件

// config/plugin.js

exports.mysql = {

enable: true,

package: 'egg-mysql',

};

3、配置MySQL config

// 這是官網的,但是我個人是使用其他寫法😂

// config/config.${env}.js

exports.mysql = {

// 單資料庫資訊配置

client: {

// host

host: 'mysql.com',

// 端口号

port: '3306',

// 使用者名

user: 'test_user',

// 密碼

password: 'test_password',

// 資料庫名

database: 'test',

},

// 是否加載到 app 上,預設開啟

app: true,

// 是否加載到 agent 上,預設關閉

agent: false,

};

// 這是我個人寫法,建議使用我這種寫法,因為接下來的配置都是根據這種寫法編寫的;

// config/config.default.js

module.exports = appInfo => {

const config = {};

// use for cookie sign key, should change to your own and keep security

config.keys = appInfo.name + '_1555670972072_2197';

// add your middleware config here

config.middleware = [];

// mysql配置檔案

config.mysql = {

client: {

// host

host: 'mysql.com',

// 端口号

port: '3306',

// 使用者名

user: 'test_user',

// 密碼

password: 'test_password',

// 資料庫名

database: 'test',

},

// 是否加載到 app 上,預設開啟

app: true,

// 是否加載到 agent 上,預設關閉

agent: false,

};

return {

...config,

...userConfig,

};

};

報錯問題:

egg裝mysql驅動_Egg配置 MySQL

螢幕快照 2019-04-29 下午9.33.20.png

疑惑來了,為什麼跟着官網走的,還報錯;我們似乎忽略了些什麼步驟沒有做?

很對,我們隻是安裝了MySQL插件,但是我們沒有安裝 MySQL 資料庫,是以肯定會報錯;

解決方法:

1、安裝MySQL包,可以到官網下載下傳 點選這裡進入官網

2、安裝視圖化工具,這裡推薦 mysql workbench、navicat for mysql;這兩種視圖化工具各有所長,這裡不便詳細講解;

安裝提示:

一路按繼續和同意

egg裝mysql驅動_Egg配置 MySQL

螢幕快照 2019-04-29 下午9.52.34.png

到了Configuration時候就要注意了,預設是第一個,但請勾選第二個,避免編譯但時候涉及到一個強制密碼到問題報錯;

egg裝mysql驅動_Egg配置 MySQL

螢幕快照 2019-04-29 下午9.53.16.png

這一步到時候,請注意root是你資料庫到預設使用者名,下面到輸入框,是你需要設定到資料庫密碼,設定完的時候,記得更改你egg項目中 config/config.default.js的 config.mysql配置user和password;

egg裝mysql驅動_Egg配置 MySQL

螢幕快照 2019-04-29 下午9.53.27.png

設定全局變量

1、sudo vim .bash_profile

2、按 i 鍵進入編輯模式,編輯内容如下

export PATH=${PATH}:/usr/local/mysql/bin

3、source .bash_profile

啟動步驟:

點選左上角的蘋果LOGO ==> 偏好設定,點開下圖圈出的圖示

egg裝mysql驅動_Egg配置 MySQL

螢幕快照 2019-04-29 下午10.21.50.png

點選啟動服務

egg裝mysql驅動_Egg配置 MySQL

螢幕快照 2019-04-29 下午10.25.20.png

如果不小心選擇了第一步并且安裝好了怎麼辦?沒關系,點選Uninstall解除安裝重裝就好,

終端輸入指令測試是否安裝成功:

1、mysql -u root -p

2、輸入資料庫的登入密碼

提示:如果未登入成功報以下錯誤提示,請檢查MySQL 服務是否啟動成功(蘋果logo--->偏好設定--->mysql 如果是start狀态,就表示尚未啟動成功,點選Start啟動服務,再重新在終端輸入指令就好)

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

建立資料庫:

這裡我使用的是 mysql workbench圖形化工具,來建立資料庫,當然你也可以使用終端指令來建立;

egg裝mysql驅動_Egg配置 MySQL

螢幕快照 2019-04-29 下午10.11.17.png

點選左下方的MySQL資料庫進行登入,進入之後操作步驟如下;

egg裝mysql驅動_Egg配置 MySQL

1.png

egg裝mysql驅動_Egg配置 MySQL

2.png

egg裝mysql驅動_Egg配置 MySQL

3.png

現在資料庫是空的,表也空,如果需要加點什麼,請參考官網來建立資料;

這裡還沒有完,不要記着去跑項目還需要下載下傳一個插件

安裝 Redis

1、brew install redis

2、redis-server

啟動成功如下圖

egg裝mysql驅動_Egg配置 MySQL

螢幕快照 2019-04-29 下午11.39.13.png

提示:

// 确認你的 config/config.default.js 配置是否和資料庫一樣

// mysql配置檔案

config.mysql = {

client: {

// host

host: '127.0.0.1',

// 端口号

port: '3306',

// 使用者名

user: 'root',

// 密碼

password: '這裡輸入你安裝資料庫時候設定的密碼',

// 資料庫名

database: 'test',

},

// 是否加載到 app 上,預設開啟

app: true,

// 是否加載到 agent 上,預設關閉

agent: false,

};

重新啟動

sudo npm run dev

成功跑起來了

egg裝mysql驅動_Egg配置 MySQL

螢幕快照 2019-04-29 下午11.43.19.png

整個egg配置MySQL的坑就踩到這裡了;

總結:

1、對于新手來講MySQL是個非常陌生到東西,踩坑是難免到,需要耐心多探索;

2、在探索過程中不管能否解決問題,我們都是在成長,每搜尋一次資料,都會看到别人到經驗,取長補短;

3、對此配置到插件 MySQL + Redis + mysql workbench

4、之是以沒有直接把這些寫出來,是想讓大家不這樣做會有哪些坑,以便你幫助他人解決這些問題;

5、每天累計一點新知識,下一個大神就是你~

請勿抄襲釋出,發現必究!!!