nodejs的mysql模块学习(三)数据库连接配置选项详解

时间:2022-01-30 09:54:28

连接选项

当在创建数据连接的时候

第一种大多数人用的方法

let mysql = require('mysql');
let connection = mysql.createConnection({
host: "localhost",
post: 3306,
user: "user",
password: "pass"
});

第二种用url创建的方法 感觉比较奇怪

let connection = mysql.createConnection('mysql://user:pass@host/db?debug=true&charset=BIG5_CHINESE_CI&timezone=-0700');

可以配置的选项有一下

配置选项 配置作用 备注
host 将要连接到的数据库的主机名 默认为localhost
port 数据库的端口号 默认为3306
localAddress 在TCP连接时的本地IP 可选配置
socketPath 将要连接的UNIXDomain Socket的路径 在配置这个之后host 和port配置失效
user mysql的用户 必要的
password mysql用户的密码 必要的
database 连接到的数据库名称 可选配置
charset 用于连接的字符集,将用该字符集作为默认排序规则 默认'UTF8_GENERAL_CI'
timezone 用于存放本地日期的时区 默认为"local"
connecTimeout 连接超时毫秒数 默认10000
stringifyObjects 查询时的自动类型转换,详见 默认false
insecureAuth 允许连接到采用旧的,不安全的身份验证方法的Mysql实例 默认: false
typeCast 是否将列值转化为本地JavaScript类型值 默认为true
queryFormat 自定义query语句格式化方法 以后详说
supportBigNumber 当数据库有bigint或decimal类型列时,需要设置为true 才能支持这种类型 默认false
bigNumberStrings 当bigNumberStrings 和supportBigNumber都为true的时候bigint和decimal就会返回字符串对象;在bigNumberStrings为false supportBigNumber为true的时候 bigint和decimal在超出Number类型范围时会返回字符串对象 不超过返回Number对象 默认为false
dataStrings 强制所有的日期类型都以字符串类型返回 而不是Date类型返回 默认 false
debug 开启调试 将协议细节输出到标准输出 默认false
trace 生成错误的堆栈跟踪,包括库入口的调用位置。有轻微的性能损失。 默认true
multipleStatements 允许query中有多个mysql语句 默认为false
flags 修改连接标志 可以去官网看,太长以后再说
ssl 用ssl参数(与crypto.createCredenitals参数格式一至)或一个包含ssl配置文件名称的字符串 然后只有一个"Amazon RDS" 以后再看