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配置失效
usermysql的用户必要的
passwordmysql用户的密码必要的
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"以后再看