2017-05-26 43 views
0

我正在爲Node.js應用程序使用azure連接字符串(來自Azure門戶),但仍無法連接到Azure數據庫for Mysql服務器。無法將Azure Web App - NodeJS連接到Azure Mysql

變種康恩= mysql.createConnection({ 主機:yourhost, 用戶: 「用戶名」, 密碼: 「密碼」, 數據庫: 「數據庫」, 端口:3306, SSL:{CA:FS .readFileSync(__ dirname +'/baltimore.pem')}}); 「

我得到以下錯誤: 」錯誤:MySQL服務器正在請求舊的和不安全的4.1以前的身份驗證機制。升級用戶密碼或使用{insecureAuth:true}選項。「

但我可以連接使用MySQL基準相同的憑據。

我做錯了什麼?

回答

0

MySQL的Azure數據庫與mysqljs連接器庫不兼容。有關詳細信息,請參閱issue 1729;有關解決方法,請參見pull 1730

+0

感謝您的回答,現在它給出了一個錯誤:\ lib \ protocol \ Parser.js:80 throw err; //重新發現非MySQL錯誤 ^ 錯誤:發送後無法設置標頭。 在ServerResponse.OutgoingMessage.setHeader(_http_outgoing.js:344:11) –

+0

@RuslanSafarov這看起來像一個錯誤,無論你使用的任何HTTP庫;一旦HTTP頭被髮送到客戶端,它們就不能被修改。 –

+0

我正在使用standart http和Express。我正在使用createPool,現在當我使用createConnection時,我得到另一個錯誤:解決方法是:undefined events.js:141 throw er; //未處理的 '錯誤' 事件 ^ 錯誤:在exports._errnoException讀ECONNRESET (util.js中:873:11) 在TLSWrap.onread(net.js:557:26) –