当前位置: 首页 > news >正文

mysql DBA常用的sql

  • 是否一般查询日志,默认关闭
    show variables like ‘general_log’;

  • 是否开启慢日志查询 默认关闭
    show global variables like ‘slow_query_log’;

  • 开启慢日志查询
    SET GLOBAL slow_query_log = ‘ON’;

  • 默认是10 单位s
    SELECT @@long_query_time;

  • 设置超过1s就算慢查
    SET GLOBAL long_query_time=1;

  • 查询数量小于这个值,不计入慢查询,默认是 0
    SELECT @@min_examined_row_limit;

  • 慢查默认不包括管理语句,比如创建表、创建索引等等
    SELECT @@log_slow_admin_statements;

  • 默认也不记录不使用索引的慢查
    SELECT @@log_queries_not_using_indexes;

  • 日志保存方式,FILE 或 TABLE, 也可以TABLE,FILE 或者NONE 代表禁用日志写入

  • table是将慢日志添加至表中,FILE是将慢日志添加至慢日志文件

  • 慢查存在哪里
    SELECT @@log_output;

  • 比如我希望2边都保存
    SET GLOBAL log_output=‘table,file’;

  • 为file,那么保存的文件路径为slow_query_log_file
    SELECT @@slow_query_log_file;
    SET GLOBAL slow_query_log_file=‘/data/soft/mysql/123.log’;

  • 为表,则保存在mysql.slow_log表中
    select * from mysql.slow_log;

  • 根据表结构创建空表
    CREATE TABLE new_table LIKE old_table;

  • 复制表结构与数据到新表
    CREATE TABLE new_table AS SELECT * FROM old_table;

  • 查看表结构
    DESCRIBE bfa.bfa_ic_invoice;

  • 查询线程
    show status like ‘Threads%’;

Variable_nameValuenote
Threads_cached4缓存的线程数,thread_cache_size 默认-1,自动调整,最大是16384
Threads_connected177当前打开的线程数
Threads_created195261创建的线程总数
Threads_running1正在运行的线程数
  • 查询thread_cache_size系统变量
    SELECT @@thread_cache_size;
  • 显示用户正在运行的线程
    show FULL PROCESSLIST;
字段名字段含义
user操作的用户名
host地址
db操作的DB
command当前连接执行的命令 休眠、查询 sleep为空闲连接
time这个状态持续的时间,单位是秒
state状态
info执行信息

删除线程,阻塞线程之类的格式为
KILL command id;
例如
KILL sleep 1234;

  • 查询最大使用链接
    show status like ‘Max_used_connections%’;
Variable_nameValuenote
Max_used_connections464自服务启动以来最大的连接数
Max_used_connections_time2024-08-01 17:15:14达到最大连接数的时间
  • 最大的连接数,超过该值不允许建立连接 默认151 1~100000
    SELECT @@max_connections;

  • 非交互连接等待的时间 (单位s) 默认28800 = 8小时 如果线程空闲8小时,就会断开
    SELECT @@wait_timeout;

  • 查询当前服务器支持的存储引擎
    SHOW ENGINES;

  • 临时表空间

  • 创建临时表
    CREATE TEMPORARY TABLE temp_table (
    id INT,
    name VARCHAR(50)
    );

  • 查询临时表,不同事务查不到,事务关闭后自动删除
    SELECT * FROM temp_table;

  • 查询页大小,默认16KB
    SELECT @@innodb_page_size;

  • 默认行格式 默认为 dynamic
    SELECT @@innodb_default_row_format;

  • 更改默认行格式
    SET GLOBAL innodb_default_row_format=DYNAMIC;

  • 查询bufferPool 默认134217728字节 /1024/1024
    SELECT @@innodb_buffer_pool_size;

  • 设置bufferPool的大小
    SET GLOBAL innodb_buffer_pool_size=402653184;

  • 刷脏线程数

  • 默认是4 但是不能超过buffer-pool的实例数
    SELECT @@innodb_page_cleaners;

  • buffer-pool的实例数
    SELECT @@innodb_buffer_pool_instances;

  • 通过以下2个参数来控制我内存中的脏页量

  • 当脏页数量低于特定阈值时InnoDB存储引擎开始刷新脏页的行为,默认10
    SELECT @@innodb_max_dirty_pages_pct_lwm;

  • 内存中可以存在的脏页的最大百分比
    SELECT @@innodb_max_dirty_pages_pct;

  • 表示在空闲时刷新脏页的百分比默认100 将全部脏页刷新 越高 跟磁盘的IO越多,因为要刷新的脏页也会越多
    SELECT @@innodb_idle_flush_pct;

  • 双写缓存区

  • 双写,就是page页刷新到磁盘的时候,把这个page数据写到不同的地方去,当出现问题是,有备份来达到持久性跟数据的一致性。

  • 默认开启 会加强一致性,但是会影响一定的性能
    SELECT @@innodb_doublewrite;

  • 默认为2 至少2个备份
    SELECT @@innodb_doublewrite_files;

  • 双写磁盘的位置配置
    SELECT @@innodb_doublewrite_dir;
    SELECT @@innodb_data_home_dir;

  • 没有配置则用默认
    SELECT @@datadir;

  • 哪些操作需要用到bufferpool
    SELECT @@innodb_change_buffering;

  • changebuffer的空间大小

  • 默认是内存空间的25%
    SELECT @@innodb_change_buffer_max_size;

  • logbuffer大小 默认16M
    select @@innodb_log_buffer_size;

  • RedoLog同步方案默认设置为1
    SELECT @@innodb_flush_log_at_trx_commit;

  • 查询表占用内存
    select TABLE_NAME, concat(truncate(data_length/1024/1024,2),’ MB’)as data_size,
    concat(truncate(index_length/1024/1024,2),’ MB’) as index_size
    from information_schema.tables where
    TABLE_SCHEMA = ‘数据库名’ group by TABLE_NAME order by data_length desc;

  • 查看各个库的内存使用情况
    select ‘all’ as TABLE_SCHEMA ,
    truncate(sum(data_length)/1024/1024/1024,0) as data_size,
    truncate(sum(index_length)/1024/1024/1024,0) as index_size
    from information_schema.tables
    union all
    select TABLE_SCHEMA,
    truncate(sum(data_length)/1024/1024/1024,0) as data_size,
    truncate(sum(index_length)/1024/1024/1024,0) as index_size
    from information_schema.tables group by TABLE_SCHEMA order by data_size desc;

  • 释放空间的两种方案
    1、optimize table 数据库.表;
    2、alter table 数据库.表 ENGINE = ‘InnoDB’;

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【JS逆向分析】某药品网站价格(Price)解密
  • AI基础 L22 Uncertainty over Time I 时间的不确定性
  • ELK预警方案:API+XXLJob
  • python画图|同时输出二维和三维图
  • 学习使用在windows系统上安装vue前端框架以及环境配置图文教程
  • Python快速入门 —— 第二节:函数与控制语句
  • macOS上谷歌浏览器的十大隐藏功能
  • maya-vray渲染蒙版
  • 高级Java程序员必备的技术点:你准备好了吗?
  • 图数据库 neo4j 安装
  • Scrapy 2.6 Spider Middleware 爬虫页中间件基本使用
  • 优化安防视频监控的关键体验:视频质量诊断技术如何应用在监控系统中?
  • 【字符串】AC自动机+dp
  • 基于YOLO深度学习和百度AI接口的手势识别与控制项目
  • 2. 变量和指令(omron 机器自动化控制器)——1
  • [deviceone开发]-do_Webview的基本示例
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • 10个最佳ES6特性 ES7与ES8的特性
  • CSS居中完全指南——构建CSS居中决策树
  • Javascript Math对象和Date对象常用方法详解
  • LeetCode算法系列_0891_子序列宽度之和
  • Python打包系统简单入门
  • socket.io+express实现聊天室的思考(三)
  • 大快搜索数据爬虫技术实例安装教学篇
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 盘点那些不知名却常用的 Git 操作
  • 前端技术周刊 2019-01-14:客户端存储
  • 如何设计一个比特币钱包服务
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • ​马来语翻译中文去哪比较好?
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • #pragma data_seg 共享数据区(转)
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (07)Hive——窗口函数详解
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (6)添加vue-cookie
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (二)c52学习之旅-简单了解单片机
  • (二)换源+apt-get基础配置+搜狗拼音
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (七)Appdesigner-初步入门及常用组件的使用方法说明
  • (四十一)大数据实战——spark的yarn模式生产环境部署
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • .naturalWidth 和naturalHeight属性,
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .net core Swagger 过滤部分Api
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .net dataexcel 脚本公式 函数源码
  • .NET Framework 服务实现监控可观测性最佳实践
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .NET 药厂业务系统 CPU爆高分析
  • .net分布式压力测试工具(Beetle.DT)
  • .net通用权限框架B/S (三)--MODEL层(2)
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)
  • [20150321]索引空块的问题.txt