前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL学习过程阶段总结

MySQL学习过程阶段总结

作者头像
AsiaYe
发布2019-11-06 14:32:32
4260
发布2019-11-06 14:32:32
举报
文章被收录于专栏:DBA随笔DBA随笔

今天是公司夏游结束后的第一天,去了趟杭州回来,总体感觉很好,尝试了很多有意思的事情,觉得生活又重新变得有意思起来,总之,一切很好。

今天一天主要干了两件事情,第一是准备阶段性总结前段时间的工作,第二部分是SQL审核问题的一些bug的讨论处理,这里一一展开写写。

从七月份入职到现在,我主要完成的工作有三个方面:

1.MySQL基础部分知识的学习;

2.SQL审核项目的立项和执行;

3.运维管理系统部分模块的开发。

第一部分,MySQL基础知识部分,主要学习了mysql的安装和部署,mysql的主从复制原理(主要是实现了一主一从复制环境的搭建)、mysql的备份恢复方法(这里包含了mysqldump、mysqlpump这种逻辑备份方法和xtrabackup这种物理备份方法)、mysql5.7的新特性(其中重点研究了sys schema的新特性部分)、mysql体系结构、mysql源码组织结果以及mysql优化器相关的内容,期间进行了两次线上数据库的主从复制环境搭建,一套环境采用mysqldump的逻辑备份方式进行主库备份,另外一套环境采用xtrabackup的物理方式进行主库数据备份,学习的内容很杂,很多东西虽然写了学习笔记,但是还是需要完善,后期尽量抽时间完善吧。

第二部分,SQL审核部分,该部分是近期的重点,主要是对Inception这一SQL审核工具的功能按照公司的开发规范进行定制,定制的过程大概是这样的:

首先编译Inception,在编译的过程中,遇到了不少的坑,最主要的是cmake .命令和sh inception_build.sh debug命令之间的区别,这个区别在前面的文章当中有讲过;

其次是将提示信息,按照一定的语法规则翻译成中文,从而方便开发人员进行阅读,该过程中需要注意参数顺序的对应匹配;

然后是最重要的部分,也就是逻辑定制,主要是定制内容如下,

1.删除已有的不需要的审核逻辑 字符集utf8mb4的逻辑可以改动 2.修改已有的审核逻辑 主要方向是truncate和drop操作,直接禁用 3.按照数据库开发规范添加审核逻辑 Drop操作提示; Truncate操作提示,分为表存在和表不存在; float、double类型不建议使用; text、blob类型不建议使用; enum类型建议使用tinyint代替; 数据库名称、表名称、字段名称不能大写; 索引个数不能超过5个; 单个索引的字段数不能超过5个; 临时库,表名必须以"tmp_"为前缀; int数据类型,不建议使用自定义的数字,直接建议修改为int(11);

最后根据不同的提示信息的重要程度,对提示信息进行分类,然后将分类的结果按照重要程度进行展示,开发人员首先需要解决的是最重要的那一类错误,然后是报出警告的错误,最后是需要完善的一些内容。并且针对SQL跑出的结果,对SQL进行打分,展示界面如下:

第三部分,是运维管理系统的开发,这里主要学习了一些前端的技术,包含HTML、Javascript的基本语法、以及Django的MTV架构、前端页面如何获取后端数据的方法、后端代码如何获取前端页面的输入信息等,此部分还有许多内容没有搞清楚,接下来的学习过程中将在这些方面下功夫琢磨。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-09-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DBA随笔 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档