mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-07 10:40:25 +08:00
使用并发队列安装和升级数据表/启动时自动调整MySQL变量
This commit is contained in:
@@ -35,3 +35,37 @@ func QuoteLikePrefix(keyword string) string {
|
||||
func QuoteLikeSuffix(keyword string) string {
|
||||
return "%" + QuoteLikeKeyword(keyword)
|
||||
}
|
||||
|
||||
// SetGlobalVarMin 设置变量最小值
|
||||
func SetGlobalVarMin(db *dbs.DB, variableName string, minValue int) error {
|
||||
result, err := db.FindOne("SHOW VARIABLES WHERE variable_name=?", variableName)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if len(result) == 0 {
|
||||
return nil
|
||||
}
|
||||
var oldValue = result.GetInt("Value")
|
||||
if oldValue > 0 /** 小于等于0通常表示不限制 **/ && oldValue < minValue {
|
||||
_, err = db.Exec("SET GLOBAL "+variableName+"=?", minValue)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// SetGlobalVarMax 设置变量最大值
|
||||
func SetGlobalVarMax(db *dbs.DB, variableName string, maxValue int) error {
|
||||
result, err := db.FindOne("SHOW VARIABLES WHERE variable_name=?", variableName)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if len(result) == 0 {
|
||||
return nil
|
||||
}
|
||||
var oldValue = result.GetInt("Value")
|
||||
if oldValue > maxValue {
|
||||
_, err = db.Exec("SET GLOBAL "+variableName+"=?", maxValue)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user