Nodejs-Mysql连接参数
Nodejs-Mysql连接参数
要想创建一个数据库连接,先就要认识清楚Options
host:主机地址 (默认:localhost)
user:用户名
password:密码
port:端口号 (默认:3306)
database:数据库名
charset:连接字符集(默认:‘UTF8_GENERAL_CI’,注意字符集的字母都要大写)
localAddress:此IP用于TCP连接(可选)
socketPath:连接到unix域路径,当使用 host 和 port 时会被忽略
timezone:时区(默认:‘local’)
connectTimeout:连接超时(默认:不限制;单位:毫秒)
stringifyObjects:是否序列化对象(默认:‘false’ ;与安全相关https://github.com/felixge/node-mysql/issues/501)
typeCast:是否将列值转化为本地JavaScript类型值 (默认:true)
queryFormat:自定义query语句格式化方法 https://github.com/felixge/node-mysql#custom-format
supportBigNumbers:数据库支持bigint或decimal类型列时,需要设此option为true (默认:false)
bigNumberStrings:supportBigNumbers和bigNumberStrings启用 强制bigint或decimal列以JavaScript字符串类型返回(默认:false)
dateStrings:强制timestamp,datetime,data类型以字符串类型返回,而不是JavaScript Date类型(默认:false)
debug:开启调试(默认:false)
multipleStatements:是否许一个query中有多个MySQL语句 (默认:false)
flags:用于修改连接标志,更多详情:https://github.com/felixge/node-mysql#connection-flags
ssl:使用ssl参数(与crypto.createCredenitals参数格式一至)或一个包含ssl配置文件名称的字符串,目前只捆绑Amazon RDS的配置文件
Node.js - Mysql 连接参数
在使用 Node.js 连接 MySQL 数据库时,我们需要了解并设置一些重要的连接参数。这些参数帮助我们建立与数据库的有效连接,并确保数据传输的安全性和正确性。
常见连接参数
以下是一些常用的连接参数及其默认值:
{
host: 'localhost', // 主机地址,默认为 localhost
user: 'your_username', // 用户名
password: 'your_password', // 密码
port: 3306, // 端口号,默认为 3306
database: 'your_database_name', // 数据库名
charset: 'UTF8_GENERAL_CI', // 连接字符集,默认为 UTF8_GENERAL_CI
localAddress: null, // 此 IP 用于 TCP 连接(可选)
socketPath: null, // 连接到 unix 域路径,当使用 host 和 port 时会被忽略
timezone: 'local', // 时区,默认为 local
connectTimeout: 0, // 连接超时,默认不限制(单位:毫秒)
stringifyObjects: false, // 是否序列化对象,默认为 false
typeCast: true, // 是否将列值转化为本地 JavaScript 类型值,默认为 true
queryFormat: null, // 自定义 query 语句格式化方法
supportBigNumbers: false, // 数据库支持 bigint 或 decimal 类型列时,需要设此选项为 true,默认为 false
bigNumberStrings: false, // supportBigNumbers 和 bigNumberStrings 启用时,强制 bigint 或 decimal 列以 JavaScript 字符串类型返回,默认为 false
dateStrings: false, // 强制 timestamp, datetime, data 类型以字符串类型返回,而不是 JavaScript Date 类型,默认为 false
debug: false, // 开启调试,默认为 false
multipleStatements: false, // 是否允许一个 query 中有多个 MySQL 语句,默认为 false
flags: '', // 用于修改连接标志,详情参见文档
ssl: null // 使用 ssl 参数(与 crypto.createCredentials 参数格式一致)或一个包含 ssl 配置文件名称的字符串
}
示例代码
以下是一个简单的示例代码,展示如何使用上述参数来连接 MySQL 数据库:
const mysql = require('mysql');
// 创建连接配置对象
const connectionConfig = {
host: 'localhost',
user: 'root',
password: 'password',
database: 'testdb',
charset: 'UTF8_GENERAL_CI',
timezone: 'local'
};
// 创建数据库连接
const connection = mysql.createConnection(connectionConfig);
// 连接数据库
connection.connect((err) => {
if (err) {
console.error('Error connecting to the database:', err);
return;
}
console.log('Connected to the database!');
});
// 执行查询
connection.query('SELECT * FROM users', (error, results, fields) => {
if (error) throw error;
console.log('Query results:', results);
});
// 关闭连接
connection.end();
通过上述代码,你可以看到如何设置连接参数并执行基本的查询操作。希望这能帮助你更好地理解和使用 Node.js 连接 MySQL 数据库的相关参数。
connectTimeout
: The milliseconds before a timeout occurs during the initial connection
to the MySQL server. (Default: 10 seconds)——连接超时默认是10秒(mysql@2.4.2)
为了连接到MySQL数据库,你可以使用mysql
模块。以下是创建连接的基本示例,并解释了如何使用上述提到的选项。
示例代码
首先,确保你已经安装了mysql
模块:
npm install mysql
然后,你可以使用以下代码来创建数据库连接:
const mysql = require('mysql');
// 创建连接
const connection = mysql.createConnection({
host: 'localhost', // 主机地址
user: 'your_username', // 用户名
password: 'your_password', // 密码
database: 'your_database', // 数据库名
port: 3306, // 端口号
charset: 'UTF8_GENERAL_CI', // 字符集
timezone: 'local', // 时区
connectTimeout: 10000 // 连接超时时间(毫秒)
});
// 连接到数据库
connection.connect((err) => {
if (err) {
console.error('Error connecting to database:', err);
return;
}
console.log('Connected to the database!');
// 执行SQL查询或其他操作
// 关闭连接
connection.end();
});
解释
- host:指定MySQL服务器的地址,默认为
localhost
。 - user:登录数据库的用户名。
- password:用户的密码。
- database:要连接的数据库名称。
- port:MySQL服务器的端口,默认是3306。
- charset:指定字符集,例如
UTF8_GENERAL_CI
。 - timezone:指定连接的时区,默认为
local
。 - connectTimeout:连接超时时间,单位为毫秒,默认不限制。
通过这种方式,你可以根据需求调整不同的选项,以满足你的具体应用场景。