the plgin of the light-api server for mysql service
npm install light-api-mysqljson
{
"cluster" : [{"host":"server1"},{"host":"sever2"},{"host":"server3"}],//(必须)不同mysql服务器的host
"port" : 3306, // (必须)端口
"user" : "username",// (必须) 用户名
"password" : "xxxxx",//(必须)密码
"database" : "test",//(必须)需要连接的数据库名
"charset" : "UTF8_GENERAL_CI", // (可选)编码 ,默认:'UTF8_GENRAL_CI'
"timezone" : "local",//(可选) 时区,默认:'loacl'
"connectTimeout" : 10000 ,//(可选) 连接超时时间,默认10000毫秒
"localAddress" : "xxxx",// (可选) 使用TCP连接时的IP地址
"socketPath" : "xxxx",// (可选) unix域套接字路径,使用这个选项会忽略host和port选项
"ssl" : {"ca" : "crt内容"}, //(可选) 使用ssl连接
"waitForConnections" : true, //(可选) 没有连接或达到最大连接时连接的形为。为true时,连接池会将连接排队以等待可用连接。为false将立即抛出错误(默认:true)
"connectionLimit" : 10, //(可选) 每个server单次可创建最大连接数(默认:10)
"queueLimit" : 0, //(可选) 连接池的最大请求数,从getConnection方法前依次排队。设置为0将没有限制(默认:0)
"clusterOption" : {
"canRetry" : true,//(可选) 当为true时,PoolCluster会在连接失败时尝试重连(默认:true)
"removeNodeErrorCount" : 5, //(可选) 连接失败时Node的errorCount计数会增加。当累积到这个值时移除PoolCluster这个节点(默认:5)
"restoreNodeTimeout" : 0, //(可选) 连接失败后重试连接的毫移数(默认:0)
"defaultSelector" : "RR" //(可选) 选择集群中server的策略(默认:RR)(RR-依次选择,RANDOM-随机选择,ORDER-选择第一个可用节点)
}
}
`
> 单机模式配置
`json
{
"host" : "localhost",//(必须)不同mysql服务器的host
"port" : 3306, // (必须)端口
"user" : "username",// (必须) 用户名
"password" : "xxxxx",//(必须)密码
"database" : "test",//(必须)需要连接的数据库名
"charset" : "UTF8_GENERAL_CI", // (可选)编码 ,默认:'UTF8_GENRAL_CI'
"timezone" : "local",//(可选) 时区,默认:'loacl'
"connectTimeout" : 10000 ,//(可选) 连接超时时间,默认10000毫秒
"localAddress" : "xxxx",// (可选) 使用TCP连接时的IP地址
"socketPath" : "xxxx",// (可选) unix域套接字路径,使用这个选项会忽略host和port选项
"ssl" : {"ca" : "crt内容"}, //(可选) 使用ssl连接
"waitForConnections" : true, //(可选) 没有连接或达到最大连接时连接的形为。为true时,连接池会将连接排队以等待可用连接。为false将立即抛出错误(默认:true)
"connectionLimit" : 10, //(可选) 每个server单次可创建最大连接数(默认:10)
"queueLimit" : 0 //(可选) 连接池的最大请求数,从getConnection方法前依次排队。设置为0将没有限制(默认:0)
}
`
$3
1.增加转移函数
`javascript
rdb.escape(param);
`
$3
1.修改数据库的update语句,兼容mysql关键(schema)字不能更新的问题
$3
1.增加数据库连接配置的端口配置(port)和字符集配置(charset)
`json
host : option.host (Default: 'localhost'),
port : option.port (Default: 3306),
user : option.user (Default: root),
password : option.password (Default: ''),
database : option.database (Default: 'test'),
charset : option.charset(Default: 'UTF8_GENERAL_CI')
`
$3
1.修复mysql链接池中取出连接使用时链接已关闭的问题
$3
1.修复mysql链接池不能回收连接的问题
$3
1.解决分页查询,查询参数数组传入失效的问题。
`
rdb.query(SELECT * FROM book WHERE show_name like ? and app_describe like ? ,'%d%','%4%')
.then(function(result){
return reply.data(result);
});
也可写成下面的数组参数形式:
rdb.query(SELECT * FROM book WHERE show_name like ? and app_describe like ? ,['%d%','%4%'])
.then(function(result){
return reply.data(result);
});
``