meteor-mysql
meteor-mysql copied to clipboard
Mysql errors not always verbose enough
Environment:
- Meteor on Windows, fresh install
- MariaDB
- Created new Application, added "numtel:mysql"
- Created database
- Created database user with a password
In Meteor code
var liveDb = new LiveMysql({
host: 'localhost',
user: 'root',
password: '',
database: 'dbname',
serverId: 1,
minInterval: 200
});
Now when starting my meteor project I get the following error:
I20150427-13:20:29.727(8)? Exception from sub XXXXXX id 95GhDstpSjMcNRxcp Error: Cannot enqueue Query after fatal error.
I20150427-13:20:29.727(8)? at Protocol._validateEnqueue (C:\Users\USERNAME\AppData\Local\.meteor\packages\numtel_mysql\0.1.7\npm\node_modules\mysql\lib\protocol\Protocol.js:194:16)
I20150427-13:20:29.727(8)? at Protocol._enqueue (C:\Users\USERNAME\AppData\Local\.meteor\packages\numtel_mysql\0.1.7\npm\node_modules\mysql\lib\protocol\Protocol.js:129:13)
I20150427-13:20:29.727(8)? at Connection.query (C:\Users\USERNAME\AppData\Local\.meteor\packages\numtel_mysql\0.1.7\npm\node_modules\mysql\lib\Connection.js:185:25)
I20150427-13:20:29.727(8)? at _update (C:\Users\USERNAME\AppData\Local\.meteor\packages\numtel_mysql\0.1.7\npm\node_modules\mysql-live-select\lib\LiveMysqlSelect.js:111:18)
I20150427-13:20:29.727(8)? at LiveMysqlSelect.update (C:\Users\USERNAME\AppData\Local\.meteor\packages\numtel_mysql\0.1.7\npm\node_modules\mysql-live-select\lib\LiveMysqlSelect.js:126:5)
I20150427-13:20:29.727(8)? at new LiveMysqlSelect (C:\Users\USERNAME\AppData\Local\.meteor\packages\numtel_mysql\0.1.7\npm\node_modules\mysql-live-select\lib\LiveMysqlSelect.js:27:10)
I20150427-13:20:29.727(8)? at LiveMysql.select (C:\Users\USERNAME\AppData\Local\.meteor\packages\numtel_mysql\0.1.7\npm\node_modules\mysql-live-select\lib\LiveMysql.js:90:19)
I20150427-13:20:29.727(8)? at [object Object]._handler (app\codefile.js:34:24)
I20150427-13:20:29.727(8)? at maybeAuditArgumentChecks (packages/ddp/livedata_server.js:1617:1)
I20150427-13:20:29.727(8)? at [object Object]._.extend._runHandler (packages/ddp/livedata_server.js:950:1)
Which is not very helpful... I hacked .meteor\packages\numtel_mysql\0.1.7\npm\node_modules\mysql\lib\protocol\Protocol.js to include after line 192
192 if (this._fatalError) {
193 console.log(this._fatalError);
194 err = new Error(prefixAfter + 'fatal error.');
Then I get more useful info:
I20150427-13:30:55.787(8)? { [Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' (using password: NO)]
I20150427-13:30:55.795(8)? code: 'ER_ACCESS_DENIED_ERROR',
I20150427-13:30:55.795(8)? errno: 1045,
I20150427-13:30:55.795(8)? sqlState: '28000',
I20150427-13:30:55.795(8)? fatal: true }
Anyways, I lack the time myself to fix it, hopefully this gives a pointer to make numtel:mysql even better. Keep up the good work!!