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

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Zabbix中监视MySQL主从状态,需要执行以下步骤: 1. 确保MySQL主从复制已正确配置并正在运行。可以通过在主服务器上运行SHOW MASTER STATUS; 和在从服务器上运行SHOW SLAVE STATUS; 来检查复制状态。 2. 在MySQL主服务器上创建一个具有适当权限的MySQL用户以供Zabbix使用。可以使用以下命令创建用户: CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'password'; GRANT REPLICATION CLIENT ON *.* TO 'zabbix'@'localhost'; 3. 在Zabbix服务器上安装MySQL监视器模板。该模板包含用于监视MySQL服务器的预定义项和触发器。 4. 在Zabbix服务器上创建一个MySQL主服务器主机,将其与MySQL监视器模板关联,并配置主机的连接参数。这些参数应包括MySQL主服务器的IP地址、端口和上一步中创建的MySQL用户的凭据。 5. 在Zabbix服务器上创建一个MySQL从服务器主机,将其与MySQL监视器模板关联,并配置主机的连接参数。这些参数应包括MySQL从服务器的IP地址、端口和上一步中创建的MySQL用户的凭据。 6. 等待一段时间,以便Zabbix收集有关MySQL主从复制状态的数据。可以通过查看Zabbix监视器模板中的图形和报告来检查这些数据。 7. 如果需要,可以根据需要创建自定义Zabbix触发器,以便在MySQL主从复制状态出现问题时接收警报。 请注意,这只是一个基本的概述。实际的实施可能因环境和要求的不同而有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值