mysql基础之数据库变量(参数)管理

  如果我们想要查看mysql的某些属性或状态,我们可以查看mysql的变量,我们也可以通过改变这些变量的值,来设置mysql的工作属性,我们可以把mysql变量理解成mysql的参数或者属性值。

一、mysql中变量的分类

mysql中的变量分为系统变量与状态变量

  系统变量:配置了mysql的运行环境属性

  状态变量:显示了mysql运行过程中的状态信息

系统变量从作用域划分,又可以分为全局变量和会话变量

  全局级别的变量:global variables,作用域为整个mysql服务器

  会话级别的变量:session variables,作用域为当前会话

我们可以通过修改这些系统变量达到设置mysql属性的目的

状态变量也分为全局级别与会话级别,但是用户无法设置状态变量,只能查看

二、查看变量

1、配置文件参数

  /etc/my.cnf.d/server.cnf
  获取可选参数列表:
    mysqld --verbose --help

2、获取运行中的mysql进程使用各服务器参数及其值
MariaDB [(none)]> show global variables;  #全局变量
MariaDB [(none)]> show session variables;  #会话变量(或者:show variables;)
note:

  其中有些参数支持运行时更改,会立即生效,有些参数不支持,且只能通过修改配置文件,并且重启服务才能生效;
  有些参数作用域是全局的,且不可以改变,有些可以为用户提供单独的设置。

3、根据变量名查看变量值

查看所有跟“版本”相关的属性值:
MariaDB [ren]> show global variables like '%version%'; +-------------------------+----------------------------------+ | Variable_name | Value | +-------------------------+----------------------------------+ | innodb_version | 5.7.27 | | protocol_version | 10 | | slave_type_conversions | | | version | 10.2.26-MariaDB | | version_comment | MariaDB Server | | version_compile_machine | x86_64 | | version_compile_os | Linux | | version_malloc_library | system | | version_ssl_library | OpenSSL 1.0.2k-fips 26 Jan 2017 | | wsrep_patch_version | wsrep_25.24 | +-------------------------+----------------------------------+ 10 rows in set (0.00 sec)
查看字符集相关的全局设置:
MariaDB [ren]> show global variables where variable_name like '%character%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+
查看某些日志是否开启或关闭:
MariaDB [ren]> show global variables where variable_name like '%log%' and value='on';
+-----------------------------------+-------+
| Variable_name                     | Value |
+-----------------------------------+-------+
| binlog_annotate_row_events        | ON    |
| binlog_optimize_thread_scheduling | ON    |
| innodb_log_checksums              | ON    |
| innodb_log_compressed_pages       | ON    |
| innodb_log_optimize_ddl           | ON    |
| log_slow_admin_statements         | ON    |
| log_slow_slave_statements         | ON    |
| relay_log_purge                   | ON    |
| sql_log_bin                       | ON    |
+-----------------------------------+-------+

4、另一种查看单个全局系统变量或者会话系统变量的语法(需要准确的指明变量名称)

格式:SELECT @@[global.|session.]system_var_name

查看全局系统变量pid_file的值:
MariaDB [ren]> select @@global.pid_file; +-------------------------+ | @@global.pid_file | +-------------------------+ | /var/lib/mysql/ren7.pid | +-------------------------+
查看会话变量warning_count的值:
MariaDB [ren]> select @@session.warning_count; +-------------------------+ | @@session.warning_count | +-------------------------+ | 0 | +-------------------------+

5、查询mysql运行中的统计信息或状态数据(查看状态变量)

MariaDB [ren]> show status;

状态变量:用来保存mysql运行中的统计数据的变量

show global status;
show session status;

三、修改变量值/设定变量值

猜你喜欢

转载自www.cnblogs.com/renyz/p/11446925.html