updateConf()

语法

db.updateConf( , [options] )

更新节点配置,并进行配置动态生效。重启生效的配置需重启后生效,禁止修改的配置则不允许修改。

参数描述

参数名参数类型描述是否必填
configJson对象配置参数,包含配置名和配置值,例如:{ preferedinstance:’A’, diaglevel:3 }
optionsJson对象命令位置参数

Note:

  • 参照数据库配置页面获取配置的动态生效、重启生效和禁止修改信息。
  • 动态生效和重启生效的配置都会写入配置文件中,成为固定的配置。
  • 重启生效和禁止修改配置的详细信息会通过错误信息返回值通知。
  • 若配置的值和数据库当前值相同,则重启生效和禁止修改配置不会报错。
  • 无命令位置参数时,缺省对所有节点生效,即使用 {Global:true} 的命令位置参数。
  • 可以通过 snapshot 获取指定节点的当前配置。

返回值

无返回值,出错抛异常,并输出错误信息。可以通过 getLastErrObj()getLastErrMsg() 获取错误信息 或 通过 getLastError() 获取错误码。 更多错误可以参考常见错误处理指南

版本信息

2.9及以上版本

示例

  • 配置数据节点 20000 上的 diaglevel 参数。

    1. // 连接协调节点
    2. > db = new Sdb( "localhost", 11810 )
    3. > db.updateConf( { diaglevel:3 }, { GroupName:"db1", ServiceName:"20000" } )
  • 配置数据组 db2 上所有数据节点的 preferedinstance 和 diaglevel 参数。

    1. // 连接协调节点
    2. > db = new Sdb( "localhost", 11810 )
    3. > db.updateConf( { preferedinstance:'A', diaglevel:3 }, { GroupName:"db2" } )
  • 报错时获取详细错误信息。

    1. // 连接协调节点
    2. > db = new Sdb( "localhost", 11810 )
    3. // 进行参数配置,报错
    4. > db.updateConf( { transactionon:'true' }, { ServiceName:"20000" } )
    5. (nofile):0 uncaught exception: -264
    6. One or more nodes did not complete successfully
    7. Takes 0.009322s.
    8. // 获取详细报错信息,了解到 transactionon 参数需要重启生效
    9. > getLastErrObj()
    10. {
    11. "errno": -264,
    12. "description": "One or more nodes did not complete successfully",
    13. "detail": "",
    14. "ErrNodes": [
    15. {
    16. "NodeName": "ubuntu-zwb:20000",
    17. "GroupName": "db1",
    18. "Flag": -322,
    19. "ErrInfo": {
    20. "errno": -322,
    21. "description": "Some configuration changes didn't take effect",
    22. "detail": "Config 'transactionon' require(s) restart to take effect."
    23. }
    24. }
    25. ]
    26. }
    27. Takes 0.004652s.