"""创建新库Create database db1;  Show craate database db1; 查看数据表的描述 alter database db1 charset = ‘gbk’; 修改表的编码类型 drop data db1; 删除表   """针对表的增删改查"""  # 如何查看当前所在的库Select
转载 2023-07-05 23:12:17
33阅读
MySQL 源码解读之-语法解析(一)语法分析是编译过程的一个逻辑截断。语法分析的任务是在词法分析的基础上将单词序列组合成各类语法短语,如“程序”,“语句”,“表达式”等等.语法分析程序判断源程序在结构上是否正确.源程序的结构由上下文无关文法描述.语法分析程序可以用YACC(BISON)等工具自动生成。词法分析和语法解析有两个较成熟的开源工具Flex和Bison分别用来解决这两个问题。MySQL
转载 2023-06-23 15:58:00
440阅读
Mysql代码分析系列(2): 源代码结构 Mysql代码主要包括客户端程序代码,服务器端代码,测试工具和一些库构成,下面我们对比较重要的目录做些介绍。 BUILD 这个目录在本系列的上篇文章中我们仔细看过,内含各种平台的编译脚本,这里就不仔细说了。 client 这个目录下有如下比较让人眼熟的文件: mysql.cc, mysqlcheck
MySQL启动流程主要代码在sql/mysqld.cc中,精简后的代码如下:int main(int argc, char **argv) //标准入口函数 MY_INIT(argv[0]);//调用mysys/My_init.c->my_init(),初始化mysql内部的系统库 logger.init_base(); //初始化日志功能 init_common_variables(MYS
转载 2023-07-23 19:25:58
161阅读
一、基本介绍在前面基本把InnoDB引擎的相关内存数据结构分析说明完成了。那么,一个重要的问题来了,这些内存的数据结构有什么作用,用在哪儿?其实就是一个从设计到应用的问题。在学习源码的过程中,往往会有这么一种现象,就是单纯的学习一些源码的应用,或者说一些使用的技巧。稍微用心的可能看一个这些模块间是如何设计的,有什么可借鉴之处。 其实,在学习源码的过程中,要反复想一个问题,源码为什么是这样?设计是是
Mysql是通过yacc进行SQL语句解析的,这里介绍一下如何使用mysql的源码进行SQL语句解析。由于Mysql的源代码注释比较少,而且缺少资料,所有些地方研究不够深入。1 Filed介绍MYSQL中Filed有以下几种类型:enum enum_field_types { MYSQL_TYPE_DECIMAL, MYSQL_TYPE_TINY, MYSQL_TYPE_SHORT, M
文章目录1. 源码包下载2.解压3.用户和组建立4. 初始化数据库(相当于安装)5. 开机启动设置6. MySQL配置7. 环境变量配置8. MySQL启动/关闭9. 登录与密码修改10.权限配置11 my.cnf 更多参数优化与配置12. 问题与解决问题1: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using
转载 2023-05-23 15:30:03
253阅读
Mysql现在很多模块都是通过plugin的方式连接到 Mysql核心中的,除了大家熟悉的存储引擎都是Plugin之外,Mysql还支持其他类型的plugin。本文将对相关内容做一些简单介绍。主要还是 以架构性的介绍为主,具体细节会提到一点,但是肯定不会包括所有的细节。主要数据结构和定义大部分的数据接口,宏和常量都定义在include/mysql/plugin.h中,我们来慢慢看。先看plugin
# MySQL代码分析:类型转换 在数据库管理中,数据的类型转换是一个经常使用的操作,MySQL作为一种流行的关系型数据库,其类型转换实现机制是值得深入分析的。这篇文章将通过代码示例来说明MySQL的类型转换,帮助读者更好地理解这一过程。 ## 什么是类型转换? 在数据库中,类型转换(Type Conversion)是指将一种数据类型的值转换为另一种数据类型的过程。这在实际使用中尤其重要,
mysql源码剖析–词法解析过程引言1 核心概念1.1 token1.2 my_lex_states2 主要流程 引言一条sql语句传输到服务端后,必须先经过词法解析、语法分析生成语法树。一般程序的编译器大都采用flex完成词法解析、bison实现语法分析mysql为了提高词法解析的效率和灵活性,独立编码实现了自己的词法解析模块。1 核心概念词法解析过程是通过扫描sql文本进行分词,并识别每个
转载 2024-03-30 19:16:26
37阅读
本文是基于MySQL5.7.22进行分析1. SQL总体执行流程图通过上面图,可以从全局上了解SQL语句执行流程以及与其他模块交互1.1 SQL查询执行流程2. 语法解析2.1 编程语言知识回顾在介绍具体的MySQL数据库解析SQL之前,先来回归一下编程语言的知识点形式语言(Formal language)形式语言是用精确的数学或机器可处理的公式定义的语言,个人理解形式语言就是符号化的语言,比如编
转载 2024-02-19 11:04:49
98阅读
文章目录SQL注入总结1、原理2、数据库基础系统函数字符串连接函数mysql注释符union 操作符的介绍order by介绍字符串编码数据库结构导入导出相关操作增删改函数3、判断是否存在SQL注入4、回显注入(联合注入)查询字段数目查询库名查询表名查询字段名查询字段值获取WebShell5、盲注sql注入截取字符串常用函数REGEXP正则表达式LIKE 匹配布尔盲注布尔盲注的流程脚本时间盲注D
这是susu给我的一份关于glut的示例代码,里面涉及到的内容有:用glut来完成菜单管理,文本显示,显示列表,材质,光照,多窗口显示,鼠标事件处理,键盘事件处理,菜单事件处理,窗口创建,缩放,销毁,动画播放,定时器等功能,运行效果如图: 我分成几个部分来对代码进行分析: 1,命令行参数检查 Code highlighting produced by Actipro...
转载 2021-08-05 15:41:52
440阅读
...
转载 2021-09-01 16:00:00
141阅读
2评论
问题背景 包瘦身,包瘦身,包瘦身,重要的事情说三遍。 最近公司一款APP一直在瘦身,我们团队的APP也愈发庞大了。就想看看除过资源外,还有那些路径可以缩小包大小,直观来看,业务代码毕竟有限,各种库嫌疑很大,但是如果没有一个定量的分析,一切说辞都显得有些苍白。 当然了所有的APP套路都一样,开始运行就跑一个循环,不断地从消息队列里去获取消息,获取到用户操作,系统通知等消息的时候就处理此消息,获取
转载 2024-07-04 17:49:25
323阅读
拖了很久了Mysqld源代码分析从今天开始吧,随着我阅读的进度推进,我会写一些文章记录自己的心得,但是不保证一定会写。其实也不保证一定有时间来完整的阅读所有的代码。阅读代码的目的有如下几点:通过了解Mysql的架构,学习大型系统软件的体系结构,希望自己在工作的时候也能应用到其中的一些技术通过阅读代码,能够更好的理解Mysql的使用,也能做更深入的应用,比如性能调优,加入自己需要的功能和模块,等等
转载 2023-08-27 16:11:34
41阅读
SQL CRUD语句下文以MySQL为例进行说明。CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写。准备首先准备在MySQL数据库中创建两张表:学生表(student)、班级表(class),建表语句如下:create table class( id varchar(32) not null, name varchar(45)
转载 2024-01-13 06:38:22
207阅读
Mysql代码主要包括客户端程序代码,服务器端代码,测试工具和一些库构成,下面我们对比较重要的目录做些介绍。 BUILD 这个目录在本系列的上篇文章中我们仔细看过,内含各种平台的编译脚本,这里就不仔细说了。 client 这个目录下有如下比较让人眼熟的文件: mysql.cc, mysqlcheck.c, mysqladmin.cc, mysqlshow.c,等等,如果你编译一下就会发现那些
转载 2023-07-03 11:56:45
257阅读
介绍 Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。同时 Sonar 还对大量的持续
使用静态代码分析工具前面的小节介绍了一些编码规范及最佳实践,如果在编码阶段可以很好地遵循这些规范,并践行最佳实践的话,就可以大大提升代码的质量、提高可读性、降低维护成本等。在很多公司内部及开发团队中,为了保证大家都遵循这些规范,都会有静态代码分析(StaticCode Analysis)流程来保证在上线前检测出代码缺陷。本章主要介绍静态代码分析技术相关的方法和工具,在掌握了这些方法和工具后,就可以
  • 1
  • 2
  • 3
  • 4
  • 5