博客
关于我
Mysql基础命令 —— 系统操作命令
阅读量:789 次
发布时间: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/

你可能感兴趣的文章
MySQL中地理位置数据扩展geometry的使用心得
查看>>
Mysql中存储引擎简介、修改、查询、选择
查看>>
Mysql中存储过程、存储函数、自定义函数、变量、流程控制语句、光标/游标、定义条件和处理程序的使用示例
查看>>
mysql中实现rownum,对结果进行排序
查看>>
mysql中对于数据库的基本操作
查看>>
Mysql中常用函数的使用示例
查看>>
MySql中怎样使用case-when实现判断查询结果返回
查看>>
Mysql中怎样使用update更新某列的数据减去指定值
查看>>
Mysql中怎样设置指定ip远程访问连接
查看>>
mysql中数据表的基本操作很难嘛,由这个实验来带你从头走一遍
查看>>
Mysql中文乱码问题完美解决方案
查看>>
mysql中的 +号 和 CONCAT(str1,str2,...)
查看>>
Mysql中的 IFNULL 函数的详解
查看>>
mysql中的collate关键字是什么意思?
查看>>
MySql中的concat()相关函数
查看>>
mysql中的concat函数,concat_ws函数,concat_group函数之间的区别
查看>>
MySQL中的count函数
查看>>
MySQL中的DB、DBMS、SQL
查看>>
MySQL中的DECIMAL类型:MYSQL_TYPE_DECIMAL与MYSQL_TYPE_NEWDECIMAL详解
查看>>
MySQL中的GROUP_CONCAT()函数详解与实战应用
查看>>