如何查看mysql当前配置_mysql参数查询方法

10次阅读

最常用、最可靠的方式是直接登录 mysql 后执行 SHOW VARIABLES 查看所有运行时参数;配置分启动配置文件(如 /etc/my.cnf)和动态变量两类,命令查到的是实际生效值而非配置文件“愿望值”。

如何查看mysql当前配置_mysql参数查询方法

直接登录 MySQL 后用 SHOW VARIABLES 就能看到所有运行时参数,这是最常用、最可靠的方式。配置分两类:一类来自启动时读取的配置文件(如 /etc/my.cnf),另一类是运行中生效的动态变量,两者可能不一致——命令查到的是实际生效值,不是配置文件里写的“愿望值”。

用 SQL 命令查实时参数

进入 MySQL 命令行后执行:

  • SHOW VARIABLES; —— 查全部参数,输出较长,适合配合 grep 或客户端搜索
  • SHOW VARIABLES LIKE 'max_connections'; —— 精确匹配单个参数,支持通配符,比如 '%buffer%'
  • select @@global.innodb_buffer_pool_size; —— 查全局变量值,返回纯数字,方便脚本调用
  • SELECT @@session.sql_mode; —— 查当前会话级设置,有些参数(如 autocommit)可按会话单独改

从配置文件看初始设定

MySQL 启动时会按顺序读取多个配置文件,优先级从高到低一般是:

  • /etc/my.cnf
  • /etc/mysql/my.cnf
  • ~/.my.cnf(当前用户家目录)
  • $MYSQL_HOME/my.cnf

快速定位主配置文件路径:

mysql –help | grep “default options” -A 1

或直接查看常见路径:

cat /etc/my.cnf 2>/dev/null || cat /etc/mysql/my.cnf 2>/dev/NULL

区分 global 和 session 级别参数

不是所有参数都能在会话中修改。例如:

  • innodb_buffer_pool_size 只有 global 级,必须重启或在线动态调整(5.7+ 支持部分热调)
  • sort_buffer_size 可设为 session 级,只影响当前连接,改完立即生效
  • SET GLOBAL xxx = N; 修改后,仅对新连接生效;旧连接仍用原值

补充:用系统命令辅助验证

不进 MySQL 也能获取部分信息:

  • mysqladmin -u root -p variables —— 命令行直查,适合写监控脚本
  • mysqladmin -u root -p status —— 查运行状态(如 Threads_connected),和 SHOW STATUS 对应
  • ps aux | grep mysqld —— 看启动命令行参数,它们会覆盖配置文件中的同名项
text=ZqhQzanResources