最近用go把数据库的自动化运维重构了一遍,之前都是些一些分散的脚本,没有成体系,现在把所有的功能都集成到了agent中,agent中封装的有些命令,会执行一些条件检查,避免手工执行的一些问题,比如建库,库名重复,等等,agent不曝漏密码,可以对执行的所有命令进行记录,审计,agent定时收集数据上传,并提供接口给server端,server端可以通过接口调用agent,操作mysql。server端使用raft,执行统计,以及调用agent接口操作mysql。
agent支持的命令如下:

The commands are listed below.

  install <role>
  start
  shutdown
  upgrade
  version
  startslave
  stopslave
  stopio
  stopsql
  startio
  startsql
  restartslave
  isreadonly
  setreadonly
  setwriteble
  showslavestatus
  showmasterstatus
  kill <id>
  backup
  backuptables <tables>
  flushlogs
  purgelogs <toLog>
  waitutil <targetgtid>
  setreplpos <pos>
  changemaster <master>,<port>
  delayrepl <seconds>
  filterrepl <replicationdb>
  removefilter <>
  utilsqlafter <targetgtid>
  showblock
  showprocesslist
  showbigtrx
  showmaster
  showslaves
  showmasterstatus
  showerror
  showrole
  showvar <pattern>
  setvar <name>,<value>
  comparevar
  showlogs
  showos
  showerrant
  showdbs
  showusers
  showgrant <user>
  createdb <dbname>,<rw_net>,<ro_net><owner><product>
  dropdb <dbname>
  grant <user>,<db>,<privileges>,<nets>
  parsebinlog <logfile>,<startTime>,<endTime>
  execute <sqlfile>
  skipgtid <gtid>
  initos
  search
Logo

Agent 垂直技术社区,欢迎活跃、内容共建,欢迎商务合作。wx: diudiu5555

更多推荐