node連接mysql比較簡單,有兩種方式,一種是直接連接,一種是通過連接池連接。
1.使用nodejs直接連接mysql,代碼比較少,但是意思很明顯
其中host是數據庫地址,user是用戶名,password是密碼,port是端口號,database是數據庫名,multipleStatements是允許執行多條語句。
注:global.mysql是連接數據庫之后,在當前node開啟服務項目中的全局變量,方便在node開啟服務端執行sql語句。【用戶名和密碼要確保正確】
用上面的代碼,node連接mysql已經完成,要想測試是否連接成功,可以寫一條sql語句,使用global.mysql.query執行,測試屬否返回數據。
sql語句執行命令如下所示:
之后直接使用nodejs操作數據庫中的表即可。
雖然連接命令很簡單,但是也會出現問題。我做項目的時候,白天還好,項目自己一直在使用,感覺沒有什么問題,但是晚上下班回家,第二天回來,就會報 PROTOCOL_ENQUEUE_AFTER_FATAL_ERROR,或者是數據請求過慢,出現Timeout的問題,看了晚上的很多解答方式,他們說是當出出現上述兩種 錯誤的時候,就用命令操作,讓數據庫重新連接一次,雖然這種方法我沒有親自測試,但是應該可行【據說是因為直接連接數據庫的方式,如果8小時沒有任何操作,數據庫就會自動將連接斷開,然而我這種連接方式,未處理這種異常】。我在看node-mysql文檔的時候,看見文檔上面說連接池連接mysql比較穩定。
(2)連接池連接mysql
這種連接方式和直接連接方式代碼相差不大,只有createPool和createConnection不一樣,但是性能卻有很大的差別,使用連接池連接,可以長時間連接,不會出現超過某一個時間不操作數據庫,就會自動斷開連接的情況,也不會說是數據請求超時,出現timeout的錯誤等等。連接池連接方式如下:
使用方式和直接連接方式一樣,不再多說。連接池連接數據庫,放到服務上,也不會出現之前碰到的問題,運行很穩定。