数据库运维平台~Yearning测试与总结

时间:2022-04-27 21:55:22

一 部署
   1 docker-compose up -d 即可非常方便
   2 mysql安装
   3 inception安装
二 默认账号
   默认用户admin 密码: Yearning_admin
三 web配置
  1 系统配置
      1 Inception配置->配置链接和备份库信息
  2 LDAP配置
  3 消息推送 ->配置钉钉和邮件推送
      钉钉 添加机器人和webhook(钉钉webhook并不会对SQL工单进行消息推送,需要在数据库中设置)
 4 其他(重要)
       1 查询最大Limit限制 限制limit条数
       2 自定义机房 添加机房
       3 排查数据库 (test,mysql,information_schema,performance_schema)
       4 可注册邮箱后缀 添加@后缀即可,这里一定要写,否则无法注册成功
       5 脱敏字段: 查询时如匹配到对应字段则该字段将只会以******显示
       6 多级审核开关: 开:本身将会多一个执行人角色 流程 使用者->管理员->执行人 关: 使用者->管理员->使用者
         查询审核开关: 开: 使用者->管理员 关:使用者
         (线上环境建议设置关闭,实现研发自助查询)
 5 添加数据库
     针对机器级别,填写相关1 用户名密码 2 连接名和IP 3 钉钉推送消息
 6 添加权限组
     DDL权限 DML权限 数据库查询权限 上级审核人(这里要注意,选择相应的连接,全选好像无法进驻相关链接)
7 创建研发小组组长
   1 这里要注意,提升为管理员级别(虽然是管理员级别,但是有些配置还是无法去做的)
   2 选择上级审核人为自己
  3 填写其他相关信息

四  inception相关服务设置
    0 ./Inception --defaults-file=inc.cnf & 启动
   1 备份库设置请分离出docker,另外一台机器作为数据库提供服务
   2 配置文件
     1 字符集支持相关信息
         inception_support_charset=utf8,utf8mb4
     2 不检测表的null列
         inception_enable_nullable=1
    3 乱码相关行为
        character-set-server=utf8
    4 DDL相关控制参数
        inception_ddl_support=1
        inception_osc_min_table_size=300 //通过计算表空间大小来判断是否采用pt-osc执行 单位M
        inception_osc_recursion_method=none//不检测延时
        inception_osc_max_thread_running=20 //当并发高时暂停执行
     5 inception用户
         GRANT Replication client, REPLICATION SLAVE,SELECT, INSERT, UPDATE, DELETE, CREATE, PROCESS,ALTER,TRIGGER,SUPER,DROP ON *.* TO 'inception_user'@'%' IDENTIFIED BY 'weawe' 
    6  DDL问题
        1 当DDL执行失败再次执行时,存在new表,也可以正常再次执行
        2 随时观察进度条,当进度条长期不动时尽快联系DBA进行观察处理
五 相关问题和不足

     1  权限精度只能针对机器级别,对于混合业务无法有效限制,只能创建多个用户进行操作权限限制

     2  DDL操作不能过滤关键字(drop,truncate等),这个非常致命,众所周知,DDL是无法备份的.建议DDL语句由DBA执行.除非能实现关键字过滤,不然太过危险 

     3  查询功能的延迟检测,当发生延迟或者复制错误时,研发查找从库的数据是不准确的.所以需要一个延时检测功能(强烈不建议在主库直接查询,很多查询会导致性能问题)

 六 相关配套功能

      1 延迟库,利用inception备份回滚DML操作,利用延迟库的特性回滚DDL操作

      2 pt-kill, 利用pt-kill方式干掉由于平台查询导致的慢sql