Mysql冷门小技巧

编程入门 行业动态 更新时间:2024-10-08 08:25:29

Mysql<a href=https://www.elefans.com/category/jswz/34/1767996.html style=冷门小技巧"/>

Mysql冷门小技巧

Mysql冷门小技巧

前言

本文不是介绍MYSQL的CRUD命令,而是介绍一些不经常使用但是功能异常强大的命令,如有不对的地方,欢迎指正!!
参考资料:mysql官网版本

正文

1.查询当前使用Mysql版本
// #查询mysql版本
SELECT VERSION();

2.在linux系统中,登录mysql服务
// #在linux系统中,登录mysql
# mysql -uroot -p123456

3.查询非交互式超时时间,如JDBC程序,默认是28800s(8h)
// #非交换式超时时间
SHOW GLOBAL VARIABLES LIKE 'wait_timeout';

4.交换式超时时间,如数据库工具,默认值是28800s(8h),八个小时没有进行交互的话,就会断开连接
// #交换式超时时间
SHOW GLOBAL VARIABLES LIKE 'interactive_timeout';

5.查看mysql服务的连接情况
// #查看连接数
SHOW GLOBAL STATUS LIKE 'thread%';

6.查看默认连接数,能够设置最大值为2^14==>16384
// #查看默认最大连接数
SHOW VARIABLES LIKE 'max_connections';

7.是分级别的的,一种是session(会话)级别的,另一种是global(全局)级别的。
8.改变默认值

第一种:动态修改:set方法只是改变当前设置值,如果重启mysql,还是会重新读取配置,改回默认值。

第二种:配置文件修改,在linux系统中,修改myf文件

注:在windows系统中,修改C:\ProgramData\MySQL\MySQL Server 5.7\my.ini文件
9.查看mysql数据目录
// #查看mysql数据目录
SHOW VARIABLES LIKE 'datadir';

10.linux系统中,查看mysql状态信息
// 查看mysql状态
netstat -an|grep 3306

11.客户端发送服务端默认数据包的大小,默认是4194304B=4M;
//#客户端发送服务端的数据包大小
SHOW VARIABLES LIKE 'max_allowed_packet';

12.查询mysql缓存信息,在5.7中缓存状态默认是关闭的,之所以关闭缓存,因为,如果使用mysql_cache,就得保持缓存和表的数据一模一样,如果表经常做添加更新,那这个就没用了,反而会很鸡肋,所以在mysql8.0版本中,该功能已经被移除了!!
// #查询mysql缓存
SHOW VARIABLES LIKE 'query_cache%';

13.查询最后一个sql语句的开销
// #查询最后一个sql语句的开销
SELECT * FROM usera_innodb WHERE `name` LIKE '姚%';
SHOW STATUS LIKE 'last_query_cost';

14.查看优化器计划详细信息(sql语句的性能),具体信息可查看mysql官方文档EXPLAIN绍
//#查询该SQL语句的优化器
EXPLAIN SELECT * FROM usera_innodb WHERE `name` LIKE '姚%';

从官方文档可查看explain出的各个字段属性的意思


15.查询table的详细信息
//#查询表的详细信息
SHOW TABLE STATUS;

16.查询当前版本支持的存储引擎
//#查询当前版本支持的存储引擎
SHOW ENGINES;

17.mysql各种存储引擎概述

Myisam:在5.5版本之前默认的存储引擎,是由Isam演变而来的;应用范围比较小,只能支持表级别的锁;适用于只读或者大部分读的场景;存储文件有三种:.frm、.myd、.myi

InnoDB:5.5版本以后默认的存储引擎,支持ACID特性,事务安全属性,支持提交、回滚和崩溃回复等机制;和Oracle差不多,支持一致性非锁定读(mvcc机制),支持行级别锁、表级别的锁;聚集索引方式可以减少IO;支持读写并发;存储文件有两种:.frm、.ibd

Memory:该存储引擎和其他存储引擎不同之处在于不把数据存储在磁盘上,而存储在内存上,所以读写速度很快;;重启的话数据都没有了适用于临时表的创建,存储文件只有一个.frm文件

Csv:该存储格式是一种支持exc打开的,广泛用于各种传输方式,上传、下载,非常好解析数据、存储数据,格式一般用“”,“”隔开的,不允许带有空格的,也不支持索引

Archive:适用于存档

Blackhole:Mysql5.x系列提供了BlackHole存储引擎;任何写入到此引擎的数据均会被丢弃掉,不做实际存储;select语句内容永远都为空,和linux中的/dev/null文件完成的作用完全一致;BLACKHOLE支持所有类型的索引。

18.Mysql底层模块存储引擎自定义
19.mysql内部模块


Connectors(连接器):与外部进行交互
Management Services & Utilltles(管理模块与控制工具):包括主从复制的设置、数据的备份与恢复、集群搭建的设置等等
Connection Pool(连接池):缓存连接的线程、用户名密码登录、权限验证
SQL Interface(sql接口):用于接受用户的命令(DML、DDL语句等)
Parser(解析器):经过词法解析、语法解析从而得到解析树
Optimizer(优化器):对SQL语句进行优化
Cache & Buffers(缓存):mysql自带的缓存,默认关闭,mysql8.0已经没有了
Pluggable Storage Engines(存储引擎)
File system(硬件系统):自动识别存储的硬件系统
File & Logs(文件日志):日志文件存储

20.InnoDB存储架构

21.查询innodb存储引擎的buffer pool
//#查询innodb存储引擎的buffer pool
SHOW STATUS LIKE '%innodb_buffer_pool%';

22.查看innodb存储引擎的buffer pool的运行大小,默认是128M
//#查看innodb存储引擎的buffer pool的运行大小
SHOW VARIABLES LIKE '%innodb_buffer_pool%';

23.查看Redo Log(重做日志)信息,默认大小是48M
//#查看Redo Log(重做日志)信息
SHOW VARIABLES LIKE '%innodb_log%';

24.查询该表中隐藏的聚集索引ROWID
//#查询该表中隐藏的聚集索引ROWID
SELECT _rowid FROM usera_innodb;

25.查询服务器中工作的线程
//#查询服务器中工作的线程
show processlist;

25.查询服务器整体的运行状态
//#查询服务器整体的运行状态
show GLOBAL STATUS LIKE 'com_select';

26.查看innodb的运行状态
//#查看innodb的运行状态
SHOW ENGINE INNODB STATUS;

恭喜您,Mysql技巧又多会了一点!!

如果您觉得写的不错,请在右上角点个赞,谢谢大佬!!
原创:产品研发部—yaoWeiJie
原创精品,翻版必究

更多推荐

Mysql冷门小技巧

本文发布于:2024-02-28 03:57:31,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1768045.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:冷门   小技巧   Mysql

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!