carnegielearning / connect-mysql-session Goto Github PK
View Code? Open in Web Editor NEWA MySQL session store for node.js connect.
License: BSD 3-Clause "New" or "Revised" License
A MySQL session store for node.js connect.
License: BSD 3-Clause "New" or "Revised" License
I have used the module as per your readme.md as follows
app.use(express.cookieParser());
app.use(express.session({
secret: "keyboard cat",
maxAge: new Date(Date.now() + 3600000),
store: new MySQLSessionStore("dbname", "root", "root")
}));
but when I refresh my home page my console is flooded with the following:
Executing: CREATE TABLE IF NOT EXISTS `Sessions` (`sid` VARCHAR(255), `expires` INTEGER, `json` TEXT, `id` INTEGER NOT NULL auto_increment , `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB;
MySQL session store initialized.
Executing: SELECT * FROM `Sessions` WHERE `sid`='rz3mEkGVadrJno11g4d7PAYA.L/xvqTVdFpJfxWBP8OqoSA/9T/4EqxmG3mygdU3k9uA' LIMIT 1;
Executing: SELECT * FROM `Sessions` WHERE `sid`='aIhKRvy7JcIozJb4bR0uXUzN.vy6qmUPV3Zh+BA1TW0xv9YS+p7JvWg/tzEkSlWldXyQ' LIMIT 1;
Executing: INSERT INTO `Sessions` (`sid`,`id`,`createdAt`,`updatedAt`,`expires`,`json`) VALUES ('aIhKRvy7JcIozJb4bR0uXUzN.vy6qmUPV3Zh+BA1TW0xv9YS+p7JvWg/tzEkSlWldXyQ',NULL,'2012-06-25 18:42:09','2012-06-25 18:42:09',1340628130,'{\"lastAccess\":1340613729507,\"cookie\":{\"originalMaxAge\":14400000,\"expires\":\"2012-06-25T12:42:09.548Z\",\"httpOnly\":true,\"path\":\"/\"},\"user\":\"bob\"}');
Executing: SELECT * FROM `Sessions` WHERE `sid`='aIhKRvy7JcIozJb4bR0uXUzN.vy6qmUPV3Zh+BA1TW0xv9YS+p7JvWg/tzEkSlWldXyQ' LIMIT 1;
Executing: SELECT * FROM `Sessions` WHERE `sid`='aIhKRvy7JcIozJb4bR0uXUzN.vy6qmUPV3Zh+BA1TW0xv9YS+p7JvWg/tzEkSlWldXyQ' LIMIT 1;
Executing: SELECT * FROM `Sessions` WHERE `sid`='aIhKRvy7JcIozJb4bR0uXUzN.vy6qmUPV3Zh+BA1TW0xv9YS+p7JvWg/tzEkSlWldXyQ' LIMIT 1;
Executing: SELECT * FROM `Sessions` WHERE `sid`='aIhKRvy7JcIozJb4bR0uXUzN.vy6qmUPV3Zh+BA1TW0xv9YS+p7JvWg/tzEkSlWldXyQ' LIMIT 1;
Executing: SELECT * FROM `Sessions` WHERE `sid`='aIhKRvy7JcIozJb4bR0uXUzN.vy6qmUPV3Zh+BA1TW0xv9YS+p7JvWg/tzEkSlWldXyQ' LIMIT 1;
Executing: SELECT * FROM `Sessions` WHERE `sid`='aIhKRvy7JcIozJb4bR0uXUzN.vy6qmUPV3Zh+BA1TW0xv9YS+p7JvWg/tzEkSlWldXyQ' LIMIT 1;
Executing: SELECT * FROM `Sessions` WHERE `sid`='aIhKRvy7JcIozJb4bR0uXUzN.vy6qmUPV3Zh+BA1TW0xv9YS+p7JvWg/tzEkSlWldXyQ' LIMIT 1;
Executing: SELECT * FROM `Sessions` WHERE `sid`='aIhKRvy7JcIozJb4bR0uXUzN.vy6qmUPV3Zh+BA1TW0xv9YS+p7JvWg/tzEkSlWldXyQ' LIMIT 1;
Executing: SELECT * FROM `Sessions` WHERE `sid`='aIhKRvy7JcIozJb4bR0uXUzN.vy6qmUPV3Zh+BA1TW0xv9YS+p7JvWg/tzEkSlWldXyQ' LIMIT 1;
Executing: SELECT * FROM `Sessions` WHERE `sid`='aIhKRvy7JcIozJb4bR0uXUzN.vy6qmUPV3Zh+BA1TW0xv9YS+p7JvWg/tzEkSlWldXyQ' LIMIT 1;
Executing: UPDATE `Sessions` SET `sid`='aIhKRvy7JcIozJb4bR0uXUzN.vy6qmUPV3Zh+BA1TW0xv9YS+p7JvWg/tzEkSlWldXyQ',`expires`=1340628130,`json`='{\"lastAccess\":1340613729593,\"cookie\":{\"originalMaxAge\":14400000,\"expires\":\"2012-06-25T12:42:09.594Z\",\"httpOnly\":true,\"path\":\"/\"},\"user\":\"bob\"}',`id`=8,`createdAt`='2012-06-25 18:42:09',`updatedAt`='2012-06-25 18:42:09' WHERE `id`=8
Executing: UPDATE `Sessions` SET `sid`='aIhKRvy7JcIozJb4bR0uXUzN.vy6qmUPV3Zh+BA1TW0xv9YS+p7JvWg/tzEkSlWldXyQ',`expires`=1340628130,`json`='{\"lastAccess\":1340613729596,\"cookie\":{\"originalMaxAge\":14400000,\"expires\":\"2012-06-25T12:42:09.596Z\",\"httpOnly\":true,\"path\":\"/\"},\"user\":\"bob\"}',`id`=8,`createdAt`='2012-06-25 18:42:09',`updatedAt`='2012-06-25 18:42:09' WHERE `id`=8
Executing: UPDATE `Sessions` SET `sid`='aIhKRvy7JcIozJb4bR0uXUzN.vy6qmUPV3Zh+BA1TW0xv9YS+p7JvWg/tzEkSlWldXyQ',`expires`=1340628130,`json`='{\"lastAccess\":1340613729597,\"cookie\":{\"originalMaxAge\":14400000,\"expires\":\"2012-06-25T12:42:09.597Z\",\"httpOnly\":true,\"path\":\"/\"},\"user\":\"bob\"}',`id`=8,`createdAt`='2012-06-25 18:42:09',`updatedAt`='2012-06-25 18:42:09' WHERE `id`=8
Executing: UPDATE `Sessions` SET `sid`='aIhKRvy7JcIozJb4bR0uXUzN.vy6qmUPV3Zh+BA1TW0xv9YS+p7JvWg/tzEkSlWldXyQ',`expires`=1340628130,`json`='{\"lastAccess\":1340613729598,\"cookie\":{\"originalMaxAge\":14400000,\"expires\":\"2012-06-25T12:42:09.598Z\",\"httpOnly\":true,\"path\":\"/\"},\"user\":\"bob\"}',`id`=8,`createdAt`='2012-06-25 18:42:09',`updatedAt`='2012-06-25 18:42:09' WHERE `id`=8
Executing: UPDATE `Sessions` SET `sid`='aIhKRvy7JcIozJb4bR0uXUzN.vy6qmUPV3Zh+BA1TW0xv9YS+p7JvWg/tzEkSlWldXyQ',`expires`=1340628130,`json`='{\"lastAccess\":1340613729599,\"cookie\":{\"originalMaxAge\":14400000,\"expires\":\"2012-06-25T12:42:09.599Z\",\"httpOnly\":true,\"path\":\"/\"},\"user\":\"bob\"}',`id`=8,`createdAt`='2012-06-25 18:42:09',`updatedAt`='2012-06-25 18:42:09' WHERE `id`=8
Executing: SELECT * FROM `Sessions` WHERE `sid`='aIhKRvy7JcIozJb4bR0uXUzN.vy6qmUPV3Zh+BA1TW0xv9YS+p7JvWg/tzEkSlWldXyQ' LIMIT 1;
Executing: SELECT * FROM `Sessions` WHERE `sid`='aIhKRvy7JcIozJb4bR0uXUzN.vy6qmUPV3Zh+BA1TW0xv9YS+p7JvWg/tzEkSlWldXyQ' LIMIT 1;
Executing: UPDATE `Sessions` SET `sid`='aIhKRvy7JcIozJb4bR0uXUzN.vy6qmUPV3Zh+BA1TW0xv9YS+p7JvWg/tzEkSlWldXyQ',`expires`=1340628130,`json`='{\"lastAccess\":1340613729683,\"cookie\":{\"originalMaxAge\":14400000,\"expires\":\"2012-06-25T12:42:09.687Z\",\"httpOnly\":true,\"path\":\"/\"},\"user\":\"bob\"}',`id`=8,`createdAt`='2012-06-25 18:42:09',`updatedAt`='2012-06-25 18:42:09' WHERE `id`=8
I know it has been a while since you last looked at this project but it would be fantastic i you could have a look at this. I really want to use mysql as a backend to manage my sessions and your module seems to be the only one out there that works. My only concern is why these repeating requests are occuring on each single page request?
Thank you.
Can you support an option which will turn off the verbose console logs from the lib?
after X time, server hangs with no errors, i found out that execution of request stops on express.session middleware with c-m-s, and i think about time when server start to search for timed out sessions. It's like next() is not called anymore in this middleware
Howdy - Is this project still alive?
I noticed I was getting an error when connect-mysql-session tried to expire old sessions. I added a little extra logging and thought I would pass it along. Nothing obvious as t owhat is causing it.
/home/shane/slurp/node_modules/connect-mysql-session/lib/connect-mysql-session.js:61
sessions[i].destroy();
^
TypeError: Object function () {
return this.slice(-1)[0];
} has no method 'destroy'
at module.exports.get.Session.find.where.sid (/home/shane/slurp/node_modules/connect-mysql-session/lib/connect-mysql-session.js:61:41)
at EventEmitter.emit (events.js:126:20)
at Query.onSuccess (/home/shane/slurp/node_modules/connect-mysql-session/node_modules/sequelize/lib/sequelize/query.js:54:8)
at /home/shane/slurp/node_modules/connect-mysql-session/node_modules/sequelize/lib/sequelize/query.js:22:38
at Query.Client.query (/home/shane/slurp/node_modules/connect-mysql-session/node_modules/sequelize/node_modules/mysql/lib/client.js:108:11)
at Query.EventEmitter.emit (events.js:93:17)
at Query._handlePacket (/home/shane/slurp/node_modules/connect-mysql-session/node_modules/sequelize/node_modules/mysql/lib/query.js:51:14)
at Client._handlePacket (/home/shane/slurp/node_modules/connect-mysql-session/node_modules/sequelize/node_modules/mysql/lib/client.js:312:14)
at Parser.EventEmitter.emit (events.js:96:17)
at Parser.write.emitPacket (/home/shane/slurp/node_modules/connect-mysql-session/node_modules/sequelize/node_modules/mysql/lib/parser.js:71:14)
{ __definition:
{ options: { timestamps: true, hasPrimaryKeys: false },
name: 'Session',
tableName: 'Sessions',
attributes:
{ sid: 'VARCHAR(255) NOT NULL UNIQUE',
expires: 'INT',
json: 'TEXT',
I'm using sailsjs and this works perfectly. Only problem is that the annoying console.logs on the terminal.
Please tell me how to remove them
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.