nodejs的mysql模块学习(三)数据库连接配置选项详解
连接选项
当在创建数据连接的时候
第一种大多数人用的方法
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" | 以后再看 |