自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

MySQL笔记(权限控制)

当客户端登陆成功,需要进一步对数据库进行操作时,需要检查是否具有相应的操作权限。 MySQL中有六张权限表: 1.user 登录验证、对所有数据库对象进行操作限制 2.db 针对指定的数据库对合法用户赋予权限 3.host db的辅助表,用于对多台允许连接的主机赋予权限 4.table_priv、columns_priv 对数据库中指定表中和字段的权限进行定义 5.procs_...

2011-01-26 19:05:00 51

MySQL笔记(用户认证流程)

sql/sql_acl.cc中定义了关于权限控制的一系列函数1.init_check_host,在服务器启动后调用。该函数用于初始化记录主机信息的结构体,所有确定的host被记录在hash表中,而含有通配符的host则记录在动态链表中。2.当客户端开始连接服务器时:acl_check_host:检查是否存在用户满足连接的主机名或IP地址通过host审核后,调用create_ra...

2011-01-25 16:54:00 91

select操作的函数调用

记录一下在select过程中调用到的一系列函数,以后重点看,尤其是优化部分!!! 在将SQL语句解析后,以连接的顺序形成一个查询基表的队列,。 对select语句的处理有两种方式: 一种是带union的操作 一种是单独的select语句 所有select操作的入口函数为: handle_select ——mysql_union() //含有union操作 SELECT_...

2011-01-17 22:24:00 263

词法解析

LEX是词法分析的主要对象,其结构体在st_lex(sql_lex.h),在THD中,有一个字段thd->lex指向该结构体。在mysqld启动时初始化LEX(在函数init_common_variables内调用lex_init()),对sql/lex.h中的两个关键字数组symbols和sql_functions进行初始化这两个关键字数组的结构体为SYMBOL: ...

2011-01-16 20:30:00 94

记录一下,恢复被win7弄没的ubuntu

好吧,我承认我比较折腾,刚装了win7+xp+ubuntu10.10,安装顺序xp,ubuntu,win7,但装好后,悲剧的发现win7的引导能够找到xp,但找不到ubuntu,上网搜索了下解决方法, 这里记录一下 首先通过光盘进入ubuntu试用界面。 打开终端 sudo fdisk –l 找到id为83的那个磁盘,也就是Linux咯,看看在哪个分区,俺的在sda6,所以执行: mo...

2011-01-16 13:39:00 50

MySQL解析器

MySQL解析器由两部分组成: 1.词法分析 扫描字符流,根据构词规则识别单个单词。 MySQL使用Flex来生成词法扫描程序 在sql/lex.h中定义了MySQL关键字和函数关键字,用两个数组存储 2.语法分析 在词法分析的基础上将单词序列组成语法短语,最后生成语法树,提交给优化器 语法分析器使用Bison,在sql/sql_yacc.yy中定义了语法规则。 根据关系代数理论生...

2011-01-14 23:22:00 92

handle_one_connection()

函数所在文件:sql/sql_parse.cc 该函数是处理单个查询请求的接口函数。 主要流程如下: 1.初始化线程 hread_scheduler.init_new_connection_thread() 2.在完成必要的检查和初始化后,进入一个for(;;)循环。 3.认证用户 if (login_connection(thd)) goto end_thread;...

2011-01-13 13:08:00 103

thread_scheduler初始化

thread_scheduler是线程控制变量,今天翻遍了mysqld.cc,终于找到了初始化位置,记录一下。 mysqld.cc :static int get_options(int *argc,char **argv) #ifdef EMBEDDED_LIBRARY one_thread_scheduler(&thread_scheduler);#else ...

2011-01-13 12:28:00 99

handle_connections_socket函数

函数所在文件:mysqld.cc该函数用于处理客户端的请求,当一个请求到达时,需要为该请求分配或新建一个线程运行一个while循环来接受请求: while (!abort_loop) //当需要退出时置1在循环体内使用select函数来对请求进行监听:select((int) max_used_connection,&readFDs,0,0,0)设置服务器s...

2011-01-09 23:46:00 141

MySQL 笔记(多线程)

多线程的一大优点就是资源共享,可以很方便的进行通信,但当对共享资源操作时,有时还需要锁操作。 为了既保证共享资源又增加系统并发量,MySQL使用了很多函数库来代替标准库函数(在mysys文件夹下面定义) 而对于锁的处理,MySQL按照相关性将将全局资源和变量分组,以组为单位进行加锁 全局锁以LOCK_开头,在mysql_priv.h文件中定义 线程锁以THR_LOCK_开头,在my_thr_ini...

2011-01-09 13:16:00 95

MySQL几种NET包

客户端发送的包1.客户端认证包客户端认证函数:mysql_real_connect();(libmysql/libmysql.c)服务器端认证函数:check_connections();(sql/sql_connect.c)2.命令包包括一字节的命令类型和其他命令参数命令类型定义在文件include/mysql_com.h中,如下所示:enum enum_serv...

2011-01-06 22:41:00 70

MySQL NET包

Technorati 标签: MySQLMySQL在应用层使用了一种NET协议,服务器端监听my.cnf中指定的TCP/IP端口和本地socket。客户端和服务器端的通信都是通过NET包来传送的。在文件sql/net_serv.cc中定义了相应的API,结构体st_net封装了NET包的格式NET包长度限制:#define MAX_PACKET_LENGTH (256L*256...

2011-01-03 15:31:00 52

测试一下windows live writer

靠谱不。。。。

2011-01-03 12:41:00 46

MySQL笔记(一个简单select的函数调用过程)

一个select语句的执行函数调用1.handle_connections_socket(/sql/mysqld_cc),循环监听客户端请求;2.handle_one_connection(),识别查询命令,将控制权转给3;3.do_command(sql/sql_parse.cc),从连接处读入查询命令,并传递给4.4.dispatch_command()(sql/sql_parse.cc)...

2011-01-03 11:41:00 204

MYSQL笔记(几个比较重要的类)

1.THD文件:Sql_class.h该类的父类为Statement和Open_tables_state。THD类包含大量的成员变量,包括当前查询语句及解析树指针、线程信息、线程使用数据库表的情况记录、客户端信息、通信协议等内容。2.Item类文件:Item.hItem是表达式的核心,用于实现表达式,Item类的实例应包括:1).SQL语句中某项的类似物,如where、order等2).值3)...

2011-01-01 23:18:00 65

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除