首先,这是我的代码。 var mysql = require('mysql');
var connection = mysql.createConnection({
host :'192.168.0.106', //or 'localhost'
port: 3306, //this is my default port
user : 'root',
password : 'asdqwe1234',
database:'db_test'
});
connection.connect(function(err) {
if (err) {
console.error('mysql connection error');
console.error(err);
throw err;
}
});
但结果是这样。
mysql connection error
{ [Error: Connection lost: The server closed the connection.] fatal: true, code: 'PROTOCOL_CONNECTION_LOST' }
E:\htdocs\testserver.js:15
throw err;
^
Error: Connection lost: The server closed the connection.
at Protocol.end (E:\htdocs\node_modules\mysql\lib\protocol\Protocol.js:103:13)
at Socket.<anonymous> (E:\htdocs\node_modules\mysql\lib\Connection.js:88:28)
at Socket.emit (events.js:129:20)
at _stream_readable.js:908:16
at process._tickCallback (node.js:355:11)
--------------------
at Protocol._enqueue (E:\htdocs\node_modules\mysql\lib\protocol\Protocol.js:135:48)
at Protocol.handshake (E:\htdocs\node_modules\mysql\lib\protocol\Protocol.js:52:41)
at Connection.connect (E:\htdocs\node_modules\mysql\lib\Connection.js:109:18)
at Object.<anonymous> (E:\htdocs\testserver.js:11:12)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
我的服务器信息是14.04.2 LTS(GNU / Linux 3.13.0-45-generic x86_64)。 我的服务器使用apache 2.4,php 5.5.9,mysql Ver 14.14 Distrib 5.5.43,debian-linux-gnu(x86_64)使用readline 6.3。
我检查了mysql端口,但很好。 没有问题,php中的db访问也正常。 我禁用了ubuntu防火墙,我检查了很多东西,但它总是一样的错误。我甚至通过node.js连接mysql!..我尝试了很多次,但我无法解决这个问题,所以我需要一些帮助。 请帮助我解决问题是什么以及什么使得工作正常。谢谢。