建连接与连接池

连接 MySQL 有两种姿势:单次脚本用 createConnection,Web 服务用 createPool。后者会复用连接、自动回收,是扛并发的正确打开方式,也是新手最容易漏掉的一环。

建连接与连接池要点

建连接与连接池示例

						const mysql = require('mysql2');

						// 生产首选:连接池
						const pool = mysql.createPool({
						  host: '127.0.0.1',
						  user: 'app_user',
						  password: 'app_pass',
						  database: 'shop_db',
						  waitForConnections: true,
						  connectionLimit: 10,
						  queueLimit: 0
						});
						const promisePool = pool.promise();

						// 单次脚本:直连,用完立刻关
						const conn = mysql.createConnection({
						  host: '127.0.0.1', user: 'app_user', password: 'app_pass', database: 'shop_db'
						});
						conn.connect(function(err) {
						  if (err) { console.error('连不上:', err.message); return; }
						  console.log('连上了');
						  conn.end();
						});
避坑提醒:连接池大小不是越大越好,通常设 CPU 核数的 2~3 倍;过大反而让数据库线程切换吃紧。
建连接与连接池 · Node.js 连接 知识卡片
卡片 03 / 09 · Node.js 连接(1080×1440 速查卡片)

Node.js 连接知识点