如何使用MySQL自动化运维工具goinception

技术如何使用MySQL自动化运维工具goinception这篇文章主要讲解了“如何使用MySQL自动化运维工具goinception”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究

本文主要讲解“如何使用MySQL自动运维工具GoIncision”,简单明了,易学易懂。请跟随边肖的思路,一起学习和学习“如何使用MySQL自动运维工具GoIncision”!

goinception介绍

GoInception是一个MySQL操作和维护工具,集成了审计、执行、备份和生成回滚语句。通过解析执行的SQL的语法,它返回基于自定义规则的审核结果,并提供执行、备份和生成回滚语句的功能。

goinception架构

如何使用MySQL自动化运维工具goinception

goinception安装

官方提供了如下几种安装方法。

1.源代码安装。

源代码安装需要有一个高于go V1.2的环境,并使用go mod进行依赖性管理。

[root @ centos 7 ~]# gitclonehttps://github.com/hanchuanhuan/goinception.git[root @ centos 7 ~]# cdgoinception[root @ centos 7 ~]# make parser[root @ centos 7 ~]# go build-ogonceoptitidb-server/。

[root @ centos7 ~]# dockerpulanchuanhuan/going enception3。二进制安装(推荐)。

直接去官方提供的地址:https://github.com/hanc Huan Huan/goinception/releases/download/下载相应的版本文件,下载后直接解压运行即可。

[root @ centos 7 ~]# mkdirgoinception[root @ centos 7 ~]# Tarzxfgoinnection-Linux-amd64-v 1 . 2 . 3 . tar . gz-c ./goinception/[root @ centos 7 ~]# cdgoinception/[root @ centos 7 goinception]# lltotal 38476 drwxr-xr-x2 root root 33 aug 300336048 config-rwxr-xr-x 1501 games 33

GoInception由TiDB源代码重构,所以有些参数可以参考TiDB相关文档。

config.toml文件由几个部分组成,它们是最外层的配置,如主机和端口,以及分组,如[Inc]和[log]。示例(本示例仅展示config.toml的文件结构,详细参数请参考):https://github.com/hanc Huan Huan/goinception/blob/master/config/config . toml . default。

主机=' 0.0.0.0 '端口=4000路径='/tmp/tidb' [log] # log参数n。

bsp;level = "info"  format = "text"  [log.file]  # 日志文件参数  filename = ""  max-size = 300  [inc]  # 审核选项  enable_nullable = true  enable_drop_table = false  check_table_comment = false  check_column_comment = false  # 等等...  [osc]  # pt-osc参数  osc_on = false  osc_min_table_size = 16 [ghost]  # gh-ost参数  ghost_allow_on_master = true

配置修改完成后,就可以正常启动了。

[root@centos7 goinception]# ./goInception -config=config/config.toml  [root@centos7 ~]# netstat -lntp|grep 4000  tcp6   0   0 :::4000    :::*    LISTEN    1250/./goInception

使用实例

/*--user=root;--password=root;--host=127.0.0.1;--check=1;--port=3306;*/  inception_magic_start;  use test;  create table t1(id int primary key);  inception_magic_commit;

其它介绍

1、结果信息

给用户返回的信息有两种,

  •  一种是提交给goInception的基础信息存在错误,比如源信息不全,或者源信息有错误等,这种情况下,直接报异常,包括错误码及错误信息,与MySQL服务器的异常是一样的,在外面正常处理即可。

  •  二是如果没有上面的问题,都会以结果集的方式将检查结果告诉客户端。和mysql原生结果集一致。返回的结果集中,每一个行数据,就是一条提交的SQL语句,goInception内部将所有提交的语句块一条条的拆开,以结果集的方式返回,针对每一条语句,有什么问题或者状态,在结果集中是一目了然。

注意:如果在语句中出现语法错误,则不能继续了,因为goInception已经不能将剩下的语句分开了,那么此时前面已经正常检查的多行为多个结果集的行返回,后面出错的语句为一行返回,当然这个的错误信息是语法错误。

2、自带备份功能

自带备份功能,首先服务启动时配置config.toml(放在 [inc] 段)

参数 默认 可选范围 说明
       
backup_host "" string 备份数据库IP地址
backup_port 0 int 备份数据库端口
backup_user "" string 备份数据库用户名
backup_password "" string 备份数据库密码

并且在执行sql时,添加 --backup=true 或 --backup=1 选项。

3、审核规则

相关的审核规则,审核选项等详细信息,可以参考:

https://hanchuanchuan.github.io/goInception/rules.html

对比Inception

1、功能对比

如何使用MySQL自动化运维工具goinception

2、速度

如何使用MySQL自动化运维工具goinception

3、使用

如何使用MySQL自动化运维工具goinception

这类工具在一定程度上解放了DBA的双手,而且还能在很大程度上避免出错的情况,从而保证SQL的执行正确率,同时还提供SQL回滚功能,在出错时进行回滚,保证数据安全与完整性。

感谢各位的阅读,以上就是“如何使用MySQL自动化运维工具goinception”的内容了,经过本文的学习后,相信大家对如何使用MySQL自动化运维工具goinception这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/42413.html

(0)

相关推荐

  • 如何进行实战和剖析Sentinel 系统自适应限流

    技术如何进行实战和剖析Sentinel 系统自适应限流这篇文章将为大家详细讲解有关如何进行实战和剖析Sentinel 系统自适应限流,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定

    攻略 2021年10月21日
  • oracle中dump logfile方法有哪些

    技术oracle中dump logfile方法有哪些这篇文章将为大家详细讲解有关oracle中dump logfile方法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。dump

    攻略 2021年11月11日
  • mysql从共享表空间修改为单个表的表空间存储方式是什么

    技术mysql从共享表空间修改为单个表的表空间存储方式是什么本篇文章为大家展示了mysql从共享表空间修改为单个表的表空间存储方式是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收

    攻略 2021年11月16日
  • Java嵌入脚本怎么快速解析多层 json

    技术Java嵌入脚本怎么快速解析多层 jsonJava嵌入脚本怎么快速解析多层 json,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。关于Json处理的开源

    攻略 2021年12月2日
  • 抽象类、接口、内部类

    技术抽象类、接口、内部类 抽象类、接口、内部类抽象类abstract修饰符可以用来修饰方法,也可以用来修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类,就是抽象类。抽象类中可以没有抽象方法,但是

    礼包 2021年12月2日
  • HBase的目录是什么意思

    技术HBase的目录是什么意思小编给大家分享一下HBase的目录是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!/hbase/.tmp

    攻略 2021年12月8日