MYSQL 系统命令 源码定位

sql_cmd.h

enum enum_sql_command {
SQLCOM_SELECT, SQLCOM_CREATE_TABLE, SQLCOM_CREATE_INDEX, SQLCOM_ALTER_TABLE,
SQLCOM_UPDATE, SQLCOM_INSERT, SQLCOM_INSERT_SELECT,
SQLCOM_DELETE, SQLCOM_TRUNCATE, SQLCOM_DROP_TABLE, SQLCOM_DROP_INDEX,

SQLCOM_SHOW_DATABASES, SQLCOM_SHOW_TABLES, SQLCOM_SHOW_FIELDS,
SQLCOM_SHOW_KEYS, SQLCOM_SHOW_VARIABLES, SQLCOM_SHOW_STATUS,
SQLCOM_SHOW_ENGINE_LOGS, SQLCOM_SHOW_ENGINE_STATUS, SQLCOM_SHOW_ENGINE_MUTEX,
SQLCOM_SHOW_PROCESSLIST, SQLCOM_SHOW_MASTER_STAT, SQLCOM_SHOW_SLAVE_STAT,
SQLCOM_SHOW_GRANTS, SQLCOM_SHOW_CREATE, SQLCOM_SHOW_CHARSETS,
SQLCOM_SHOW_COLLATIONS, SQLCOM_SHOW_CREATE_DB, SQLCOM_SHOW_TABLE_STATUS,
SQLCOM_SHOW_TRIGGERS,

SQLCOM_LOAD,SQLCOM_SET_OPTION,SQLCOM_LOCK_TABLES,SQLCOM_UNLOCK_TABLES,
SQLCOM_GRANT,
SQLCOM_CHANGE_DB, SQLCOM_CREATE_DB, SQLCOM_DROP_DB, SQLCOM_ALTER_DB,
SQLCOM_REPAIR, SQLCOM_REPLACE, SQLCOM_REPLACE_SELECT,
SQLCOM_CREATE_FUNCTION, SQLCOM_DROP_FUNCTION,
SQLCOM_REVOKE,SQLCOM_OPTIMIZE, SQLCOM_CHECK,
SQLCOM_ASSIGN_TO_KEYCACHE, SQLCOM_PRELOAD_KEYS,
SQLCOM_FLUSH, SQLCOM_KILL, SQLCOM_ANALYZE,
SQLCOM_ROLLBACK, SQLCOM_ROLLBACK_TO_SAVEPOINT,
SQLCOM_COMMIT, SQLCOM_SAVEPOINT, SQLCOM_RELEASE_SAVEPOINT,
SQLCOM_SLAVE_START, SQLCOM_SLAVE_STOP,
SQLCOM_BEGIN, SQLCOM_CHANGE_MASTER,
SQLCOM_RENAME_TABLE,
SQLCOM_RESET, SQLCOM_PURGE, SQLCOM_PURGE_BEFORE, SQLCOM_SHOW_BINLOGS,
SQLCOM_SHOW_OPEN_TABLES,
SQLCOM_HA_OPEN, SQLCOM_HA_CLOSE, SQLCOM_HA_READ,
SQLCOM_SHOW_SLAVE_HOSTS, SQLCOM_DELETE_MULTI, SQLCOM_UPDATE_MULTI,
SQLCOM_SHOW_BINLOG_EVENTS, SQLCOM_DO,
SQLCOM_SHOW_WARNS, SQLCOM_EMPTY_QUERY, SQLCOM_SHOW_ERRORS,
SQLCOM_SHOW_STORAGE_ENGINES, SQLCOM_SHOW_PRIVILEGES,
SQLCOM_HELP, SQLCOM_CREATE_USER, SQLCOM_DROP_USER, SQLCOM_RENAME_USER,
SQLCOM_REVOKE_ALL, SQLCOM_CHECKSUM,
SQLCOM_CREATE_PROCEDURE, SQLCOM_CREATE_SPFUNCTION, SQLCOM_CALL,
SQLCOM_DROP_PROCEDURE, SQLCOM_ALTER_PROCEDURE,SQLCOM_ALTER_FUNCTION,
SQLCOM_SHOW_CREATE_PROC, SQLCOM_SHOW_CREATE_FUNC,
SQLCOM_SHOW_STATUS_PROC, SQLCOM_SHOW_STATUS_FUNC,
SQLCOM_PREPARE, SQLCOM_EXECUTE, SQLCOM_DEALLOCATE_PREPARE,
SQLCOM_CREATE_VIEW, SQLCOM_DROP_VIEW,
SQLCOM_CREATE_TRIGGER, SQLCOM_DROP_TRIGGER,
SQLCOM_XA_START, SQLCOM_XA_END, SQLCOM_XA_PREPARE,
SQLCOM_XA_COMMIT, SQLCOM_XA_ROLLBACK, SQLCOM_XA_RECOVER,
SQLCOM_SHOW_PROC_CODE, SQLCOM_SHOW_FUNC_CODE,
SQLCOM_ALTER_TABLESPACE,
SQLCOM_INSTALL_PLUGIN, SQLCOM_UNINSTALL_PLUGIN,
SQLCOM_BINLOG_BASE64_EVENT,
SQLCOM_SHOW_PLUGINS,
SQLCOM_CREATE_SERVER, SQLCOM_DROP_SERVER, SQLCOM_ALTER_SERVER,
SQLCOM_CREATE_EVENT, SQLCOM_ALTER_EVENT, SQLCOM_DROP_EVENT,
SQLCOM_SHOW_CREATE_EVENT, SQLCOM_SHOW_EVENTS,
SQLCOM_SHOW_CREATE_TRIGGER,
SQLCOM_ALTER_DB_UPGRADE,
SQLCOM_SHOW_PROFILE, SQLCOM_SHOW_PROFILES,
SQLCOM_SIGNAL, SQLCOM_RESIGNAL,
SQLCOM_SHOW_RELAYLOG_EVENTS,
SQLCOM_GET_DIAGNOSTICS,
SQLCOM_ALTER_USER,

/*
When a command is added here, be sure it‘s also added in mysqld.cc
in "struct show_var_st status_vars[]= {" ...
*/
/* This should be the last !!! */
SQLCOM_END
};

命令解析:SQL_parse.cc

eg:

case SQLCOM_SHOW_PROCESSLIST:
  if(!thd->security_ctx->priv_user[0] &&check_global_access(thd,PROCESS_ACL))
      break;
  mysqld_list_processes(thd,(thd->security_ctx->master_access & PROCESS_ACL ?NullS :thd->security_ctx->priv_user),lex->verbose);
  break;
时间: 2024-08-14 10:26:02

MYSQL 系统命令 源码定位的相关文章

LNMP架构的搭建(nginx+mysql+php源码安装 )+Discuz论坛的搭建

主机环境 redhat6.5 64位 实验环境 服务端 ip172.25.29.1  nginx+mysql+php 安装包   nginx-1.10.1.tar.gz         mysql-boost-5.7.11.tar.gz    cmake-2.8.12.2-4.el6.x86_64.rpm php-5.6.20.tar.bz2         re2c-0.13.5-1.el6.x86_64.rpm         libmcrypt-2.5.8-9.el6.x86_64.rpm

js调试系列: 源码定位与调试[基础篇]

js调试系列目录: - 如果看了1, 2两篇,你对控制台应该有一个初步了解了,今天我们来个简单的调试.昨天留的三个课后练习,差不多就是今天要讲的内容.我们先来处理第一个问题:1. 查看文章下方 推荐 这个功能所调用的函数源码其实非常简单,点放大镜选中那个推荐即可.这个  votePost(cb_entryId,'Digg')  就是推荐按钮所调用的函数了,是不是非常简单. 第二个问题,定位到函数所在文件位置.其实也是非常简单的,当然,不熟悉控制台的朋友也许不知道怎么看.我在控制台输入 voteP

Mysql的源码安装

到网站上面下载:cmake-3.0.0.tar.gz和mysql-5.5.8.tar.gz: 解压安装cmake-3.0.0.tar.gz tar -zxv -f cmake-3.0.0.tar.gz cd cmake-3.0.0 ./configure make make install 解压安装mysql-5.5.8.tar.gz (1).创建mysql安装目录和数据存放目录 mkdir -p /usr/local/mysql                 //安装mysql  mkdir

搭建zabbix(yum安装zabbix,ngixn,mysql,源码安装php)

yum安装zabbix,ngixn,mysql,源码安装php,并不是有特别的效果,而是zabbix源码安装失败了... 1.安装zabbix的repo2.yum 安装 3.yum安装mariadb mariadb-server4.创库zabbix,赋权给zabbix用户5.将zabbix文件的库导入mysql中 6.修改zabbix_server.conf配置文件7.启动开机自启zabbix_server.service 8.yum安装nginx9.修改nginx.conf配置文件,用ngin

mysql jdbc源码分析片段 和 Tomcat's JDBC Pool

32) Tomcat's JDBC Pool Tomcat jdbc pool的使用仅需2个jar包,分别为tomcat-jdbc.jar和tomcat-juli.jar,这两个jar包都可以在tomcat7中找到,tomcat-jdbc.jar在tomcat的lib目录下,tomcat-juli.jar在bin目录下. http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/ org.apache.tomcat.jdbc.pool

澜天娱乐php+mysql程序源码修复采集完美版区块链概念入门

区块链的本质区块链是什么?一句话,它是一种特殊的分布式数据库. 首先,区块链的主要作用是存储信息.任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库. 其次,任何人都可以架设服务器,加入区块链网络,成为一个节点.区块链的世界里面,没有中心节点,每个结点都是平等的,都保存着整个数据库.你可以向任何一个节点,写入/读取数据,因为所有节点最后都会同步,保证区块链一致. 区块链的诞生是为了满足什么需求?还是解决什么问题?溯源区块链,我们发现区块链诞生于比特币,是从比特币的技术中衍生出

【MySQL】源码编译安装和配置MySql 5.5.32(单实例)

[需求描述] 在CentOS环境中,通过编译源码的方式,安装并且配置“单实例”的MySQL5.5.32数据库. MySQL的安装目录为:/application/mysql-5.5.32 MySQL数据文件的安装目录为:/application/mysql-5.5.32/data MySQL默认的字符编码为:UTF8 [环境参数] VMware:10.0.1 Host:Win7 DB:MySql 5.5.32 编译工具:cmake-2.8.8.tar.gz 其他依赖:ncurses-devel-

ubuntu 14.04 nginx + mysql + php源码安装

本文参考了 http://www.tuicool.com/articles/3iUNFnA  并在细节上做了一些补充.使安装过程更加顺畅. 首先要说的是ubuntu 上操作需要加sudo命令,所以在以下的命令上都要以sudo开始. 先安装一些依赖资源gcc  g++ openssl  libssl-dev (RedHat.centos才是openssl-devel) sudo apt-get install openssl sudo apt-get install libssl-dev sudo

Linux+Apache+Mysql+Php源码安装

一.安装环境: 系统:Centos6.5x64 Apache: httpd-2.4.10.tar.gz Mysql: mysql-5.6.20-linux-glibc2.5-x86_64.tar.gz Php: php-5.6.0.tar.gz Apr: apr-1.5.1.tar.gz Apr-util: apr-util-1.5.3.tar.gz Libxml2: libxml2-2.9.1.tar.gz 默认安装路径我们统一安装到/usr/local下 二.Apache安装: 安装Apac