Mysql学习记录-自定义化运行Mysql查看mysql运行状态

文章详细介绍了MySQL在Unix系统中的启动过程,包括客户端与服务器的通信,以及数据库服务端mysqld进程的工作流程。内容还涵盖了查询缓存的机制,存储引擎的种类如InnoDB和MyISAM,以及如何设置和管理这些引擎。此外,文章讨论了MySQL的系统变量和状态变量,以及如何通过命令行参数和配置文件来改变启动选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySql结构

 Mysql基于客户端/服务器结构,服务端程序直接和存储的数据打交道,Mysql运行的流程如下

SQL命令
客户端连接
数据库服务端
mysqld进程

Unix系统mysql的启动

客户端和服务器的通信过程:本质上是一个进程间通信的过程(TCP/IP)
结果

客户端:发送SQL语句
发送一段文本处理结果

具体的服务器处理流程如下

客户端:发送SQL语句
处理连接
查询缓存
语法解析
查询优化
MyisAM
innoDB
...
文件系统

连接管理部分

 使用进程通信建立连接,服务端会有一个池式组件来管理这些连接

查询缓存

 缓存不命中的情况:1.如果两个查询在任何字符上不同,都会导致缓冲不命中(包括空格,大小写)2.如果请求中包含系统函数或者一些mysql系统所使用的表,那么缓存不会命中,3,该表被修改过
Mysql8.0已经删除缓存

存储引擎

 Mysql将数据的存储和提取都封装到了存储引擎模块中,将逻辑层转换成了物理层

存储引擎种类

 最常用的式InnoDB(默认)MyISAM

引擎种类的设定

 在创建表时可以指定表的存储引擎语法如下

CREATE TABLE newTableName( ...; ) ENGINE = 引擎名;

 在表创建好后可以修改,语法如下

ALTER TABLE 表名 ENGINE = 将设定的存储引擎名; 

MYSQL调控-改变启动选项和系统变量

 mysql的启动选项前缀是**–**,语法如下

命令行参数方式设置参数

mysqld --(选项) 

如果选项是由多个单词组成的,那么中间用_或者-连接起来,语法如下

mysqld --skip-networking(使用skip networking选项启动)
mysqld --skip_networking(同上)

通用风格如下

mysqld --选项1=选项值1 --选项2=选项值2(除了多个选项之间空格,等号两边不能有空格)

配置文件方式设置参数

只需设置一次即可,推荐使用
ubuntu20.04(腾讯云),使用命令行apt-get install mysql-server安装的配置文件为

/etc/mysql/mysql.conf.d/mysqld.cnf

被分为若干个组,用中括号括起来类似于


[mysqld]#中括号括起来
#mysqld的启动参数
user            = mysql
port            = 3306
bind-address            = 0.0.0.0
mysqlx-bind-address     = 127.0.0.1
key_buffer_size         = 16M
myisam-recover-options  = BACKUP
log_error = /var/log/mysql/error.log
[server]#server组下面的启动选项将用于所有的服务器参数
##具体的参数
[client]#client组的启动选项将用于所有的客户端程序

值得注意的是,若在多个组设置了相同的启动选项,那么以最后一个的为准
下面的命令能以指定的配置文件启动

mysqld --default-file=配置文件

命令行的优先级将要高于配置文件的

查看系统变量

命令如下

SHOW VARIABL''

系统变量有别于选项(有的系统变量就是选项),系统变量的设定如果有空格的话,只能使用_连接

系统变量的特性

系统变量是可以在mysql运行时进行动态修改的,无需对mysql服务进行重启
系统变量有作用范围的概念分为

  1. GLOBAL变量,影响服务器整体操作
  2. SESSION变量,影响某个客户端的连接操作
    通过上文所述的启动选项(命令行参数或者配置文件)设置的系统变量的范围都是全局
    设置系统变量的SQL语句
SET GLOBAL 欲设置变量=预设值
SET SESSION 欲设置变量=预设值

状态变量

 状态变量作用:帮助我们更好的了解服务器运行状态,值不可设定(设定也没有意义)
查询语句如下

SHOW [GLOBAL|SESSION] STATUS [LIKE 欲查看的模式]

例子

SHOW STATUS LIKE 'thread%';

结果如下

Variable_nameValue
Threads_cached0
Threads_connected1
Threads_created1
Threads_running2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值