博客
关于我
Mysql基础命令 —— 系统操作命令
阅读量:799 次
发布时间:2023-02-12

本文共 2793 字,大约阅读时间需要 9 分钟。

Mysql系统变量及运行状态优化指南

一、连接MySQL

1. 连接MySQL命令

mysql -h 数据库地址ip或域名 -u 登录账户名 -p
  • -h:指定数据库地址,默认为localhost。
  • -u:MySQL数据库账户名。
  • -p:指定密码,若密码为空,可省略。

2. 选项说明

  • -h:指定数据库地址,默认值为localhost。
  • -u:MySQL数据库账户名。
  • -p:指定密码,默认为空,若不提供密码,可省略。

二、Mysql系统变量

1. 查看系统变量命令格式

SHOW [GLOBAL | SESSION] VARIABLES [LIKE 'pattern' | WHERE expr]
  • []:可选项,直接SHOW VARIABLES可查询所有系统变量。
  • [GLOBAL | SESSION]:指定查找范围,默认为SESSION。
    • GLOBAL:全局变量。
    • SESSION:会话变量。
  • [LIKE 'pattern' | WHERE expr]:指定查找条件,LIKE和WHERE的使用与SQL查询类似。

2. 全局变量与会话变量

  • 全局变量:MySQL启动时由服务器初始化,默认值可通过my.ini修改。
  • 会话变量:每次连接时由MySQL初始化,若未修改,默认与全局变量相同。
  • 区别:修改全局变量影响服务器,修改会话变量仅影响当前会话。

3. 获取当前MySQL端口号

SHOW VARIABLES LIKE 'port';

4. 查询MySQL编码

SHOW VARIABLES LIKE 'character%';

5. 查询最大连接数

SHOW VARIABLES LIKE '%max_connections%';

6. 查看数据库文件存放路径

SHOW VARIABLES LIKE '%datadir%';

7. 查看MySQL超时相关配置

SHOW GLOBAL VARIABLES LIKE "%timeout%";

三、设置或修改MySQL系统变量

1. 方法一:修改MySQL配置文件

// 打开my.cnfvim /etc/my.cnf// 修改参数(例如wait_timeout)[mysqld]wait_timeout=10// 重启MySQLservice mysqld restart

2. 方法二:命令行设置(推荐)

// 设置全局变量SET GLOBAL wait_timeout=10;// 修改my.cnf并生效vim /etc/my.cnf[mysqld]wait_timeout=10// 查看设置是否生效SHOW GLOBAL VARIABLES LIKE 'wait_timeout';

3. 还原系统变量

// 全局变量还原SET GLOBAL wait_timeout=DEFAULT;// 会话变量还原SET @@SESSION.wait_timeout=DEFAULT;

4. 系统变量转换

SET @@SESSION.wait_timeout=@@GLOBAL.wait_timeout;

5. 注意事项

  • 并非所有变量支持DEFAULT,设置为DEFAULT时可能返回错误。
  • SET在当前会话中生效,全局变量需修改my.cnf并重启MySQL。

四、查看MySQL运行状态

1. 命令格式

SHOW [GLOBAL | SESSION] STATUS [LIKE 'pattern'];

2. 常用状态查询

// 查看所有状态SHOW STATUS;// 查看运行时间(秒)SHOW STATUS LIKE 'uptime';// 查看查询次数SHOW [GLOBAL] STATUS LIKE 'com_select';// 查看插入次数SHOW [GLOBAL] STATUS LIKE 'com_insert';// 查看更新次数SHOW [GLOBAL] STATUS LIKE 'com_update';// 查看删除次数SHOW [GLOBAL] STATUS LIKE 'com_delete';// 查看连接数SHOW STATUS LIKE 'connections';// 查看线程缓存数量SHOW STATUS LIKE 'threads_cached';// 查看当前连接数SHOW STATUS LIKE 'threads_connected';// 查看线程创建数量SHOW STATUS LIKE 'threads_created';// 查看线程运行状态SHOW STATUS LIKE 'threads_running';// 查看立即获得锁的次数SHOW STATUS LIKE 'table_locks_immediate';// 查看等待锁的次数SHOW STATUS LIKE 'table_locks_waited';// 查看慢启动线程数SHOW STATUS LIKE 'slow_launch_threads';// 查看慢查询次数SHOW STATUS LIKE 'slow_queries';

五、当前MySQL状态

1. 查询命令

STATUS

2. 查询结果说明

// 例子:项目数据库状态mysql  Ver 14.14 Distrib 5.5.53, for Win32 (AMD64)Connection id:          474Current database:       projectCurrent user:           root@localhostSSL:                    Not in useServer characterset:    utf8Db     characterset:    utf8Client characterset:    utf8TCP port:               3306Uptime:                 1 day 7 hours 31 min 56 secThreads: 1Questions: 5917Slow queries: 0Opens: 257Flush tables: 1Open tables: 0

3. 关键参数解释

  • character_set_*:数据库编码设置,保证所有编码一致以避免数据乱码。
  • max_connections:数据库允许的最大连接数。
  • wait_timeout:客户端连接超时时间。
  • interactive_timeout:数据库线程等待时间。

总结

通过以上方法,可以全面了解并优化MySQL配置。理解和调整MySQL系统变量是数据库性能优化的关键步骤,建议从基础开始,逐步掌握每个参数的作用和影响。

转载地址:http://mhbfk.baihongyu.com/

你可能感兴趣的文章
Netty NIO transport && OIO transport
查看>>
netty php,netty
查看>>
Netty WebSocket客户端
查看>>
netty 主要组件+黏包半包+rpc框架+源码透析
查看>>
Vue过渡 & 动画---vue工作笔记0014
查看>>
Netty 异步任务调度与异步线程池
查看>>
Netty 的 Handler 链调用机制
查看>>
Netty 编解码器和 Handler 调用机制
查看>>
Netty 编解码器详解
查看>>
Netty 解决TCP粘包/半包使用
查看>>
Netty 调用,效率这么低还用啥?
查看>>
Netty 高性能架构设计
查看>>
Netty+Protostuff实现单机压测秒级接收35万个对象实践经验分享
查看>>
Netty+SpringBoot+FastDFS+Html5实现聊天App详解(一)
查看>>
netty--helloword程序
查看>>
netty2---服务端和客户端
查看>>
Netty5.x 和3.x、4.x的区别及注意事项(官方翻译)
查看>>
netty——bytebuf的创建、内存分配与池化、组成、扩容规则、写入读取、内存回收、零拷贝
查看>>
netty——Channl的常用方法、ChannelFuture、CloseFuture
查看>>
netty——EventLoop概念、处理普通任务定时任务、处理io事件、EventLoopGroup
查看>>