数据库的数据存放路径:
[root@ren7 mysql]# pwd
/var/lib/mysql
[root@ren7 mysql]# ls
aria_log.00000001 ibdata1 multi-master.info ren test1
aria_log_control ib_logfile0 mysql ren7.err test2
help ib_logfile1 mysql.sock ren7.pid yan
ib_buffer_pool ibtmp1 performance_schema tc.log
配置文件的路径:
[root@ren7 ~]# vim /etc/my.cnf.d/server.cnf

  如果我们想要查看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;

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

修改数据库变量的方法:

1、运行时修改对应的变量:

运行时修改,修改是否立即生效取决于修改的变量类型:

(1)运行时修改global级别的变量,对修改之前建立的会话没有影响,仅对修改后新建立的会话有效;

(2)运行时修改session级别的变量,仅对当前会话有效,且立即生效;如果想要使设定永久有效,需要设置配置文件。

可以通过set命令,修改运行时的对应的变量:

MariaDB [ren]> select @@session.autocommit;
+----------------------+
| @@session.autocommit |
+----------------------+
| 1 |
+----------------------+
1 row in set (0.00 sec) MariaDB [ren]> set @@session.autocommit=0;
Query OK, 0 rows affected (0.00 sec) MariaDB [ren]> select @@session.autocommit;
+----------------------+
| @@session.autocommit |
+----------------------+
| 0 |
+----------------------+
1 row in set (0.00 sec)

设置系统变量的语法:

SET GLOBAL var_name=value;

SET @@GLOBAL.var_name-value;

SET SESSION var_name=value;

SET @@SESSION.var_name=value;

不指定级别表示默认设置会话级别的变量:SET var_name=value;

2、通过配置文件修改:需重启后生效,但是永久有效

四、查看表状态

MariaDB [ren]> show table status like 'students'\G;
*************************** 1. row ***************************
Name: students
Engine: InnoDB
Version: 10
Row_format: Dynamic
Rows: 15
Avg_row_length: 1092
Data_length: 16384
Max_data_length: 0
Index_length: 32768
Data_free: 0
Auto_increment: 21
Create_time: 2019-09-01 14:58:39
Update_time: NULL
Check_time: NULL
Collation: utf8_general_ci
Checksum: NULL
Create_options:
Comment:
标识                说明
Name 表名
Engine 表的存储引擎类型,在旧版本中,该列的名字叫 Type , 而不是 Engine。
Row_format 行的格式。对于 MyISAM 表,可选的值为 Dynamic、Fixed或者 Compressed。
Dynamic 的长度是可变的,一般包含可变长度的字段,如 VARCHAR 或 BLOB。
Fixed 的行长度则是固定的,只包含固定长度的列,如 CHAR 和 INTEGER。
Compressed 的行则只在压缩表中存在。
Rows 表中的行数。对于 MyISAM 和其他一些存储引擎,该值是精确的,但对于 InnoDB,该值是估计值。
Avg_row_length 平均每行包含的字节数
Data_length 表数据大小(以字节为单位)
Max_data_length 表数据的最大容量,该值和存储引擎有关。
Index_length 索引的大小(以字节为单位)
Data_free 对于 MyISAM 表,表示已分配但目前没有使用的空间。这部分空间包括了之前删除的行,以及后续可以被 INSERT 利用到的空间。
Auto_increment 下一个 AUTO_INCREMENT 的值
Create_time 表的创建时间
Update_time 表数据的最后修改时间
Check_time 使用 CHECK TABLE 命令或者 myisamchk 工具最后一次检查表的时间。
Collation 表的默认字符集和字符列排列规则
Checksum 如果启用,保存的是整个表的实时校验和。
Create_options 创建表时的其他选项
Comment 该列包含了一些其他的额外信息。对于 MyISAM 表,保存的是表在创建时带的注释。对于 InnoDB 表,则保存的是 InnoDB 表空间的剩余空间信息。如果是一个视图,则该列包含 “VIEW” 的文本字样。
Max_index_length 最大索引长度
Temporary 是否是临时表

mysql基础之数据库变量(参数)管理的更多相关文章

  1. mysql基础篇 - 数据库及表的修改和删除

    基础篇 - 数据库及表的修改和删除         修改和删除 一.实验简介 本节实验中,我们将学习并实践如何对数据库的内容做修改,删除,重命名等操作. 二.实验准备 在正式开始本实验内容之前,需要先 ...

  2. MySQL基础篇(06):事务管理,锁机制案例详解

    本文源码:GitHub·点这里 || GitEE·点这里 一.锁概念简介 1.基础描述 锁机制核心功能是用来协调多个会话中多线程并发访问相同资源时,资源的占用问题.锁机制是一个非常大的模块,贯彻MyS ...

  3. mysql基础:数据库的创建,增删改查

    =============查看数据库========================== 使用SHOW语句找出服务器上当前存在什么数据库: mysql> SHOW DATABASES; +--- ...

  4. mysql基础之数据库备份和恢复实操

    一.基于二进制文件的恢复*** 1.算好要恢复数据的时间段,重定向输入到bin.sql文件中 [root@ren7 mysql]# mysqlbinlog --start-datetime=" ...

  5. MySQL基础 - 1 数据库基础

    一.数据库基础 1.什么是数据库 1.数据库(database)是保存有组织的数据的容器( 通常是一个文件或一组文件 ) 2.数据库是一个以某种有组织的方式存储的数据集合 注意:数据库软件应该称为DB ...

  6. MySQL基础知识 数据库 数据表

    1.数据库结构 库 表 数据 2. sql(structured query language)结构化查询语言 管理数据库 管理表 管理数据 3.数据库 增删改查 增 create database  ...

  7. mysql基础之数据库备份和恢复的基础知识

    备份数据的最终目的是为了在出现一些意外情况时,能够通过备份将数据还原,所以单单的备份数据往往是无法满足还原时的需求的,所以在备份数据库时,除了要备份数据本身,还要备份相关的数据库环境,如配置文件,定时 ...

  8. MySQL基础、MySQL安装和MariaDB安装

    MySQL基础 目录 MySQL基础 关系型数据库介绍 数据结构模型 RDBMS专业名词 关系型数据库的常见组件 SQL语句 MySQL安装与配置 MySQL安装 MariaDB安装 关系型数据库介绍 ...

  9. 2020重新出发,MySql基础,MySql数据库备份与恢复

    @ 目录 MySQL数据库备份与恢复 数据库为什么需要备份 MySQL备份类型 MySQL热备份及恢复 逻辑备份 mysqldump SELECT INTO-OUTFILE mydumper 裸文件备 ...

随机推荐

  1. 如何讲一个网页转换为jpg?(图片!)

    不需要安装插件!!! 打开网页,打开开发者工具 快捷键: ctrl+shift+p输入>full即可自动下载!

  2. 自动化kolla-ansible部署centos7.9+openstack-train-超融合单机架构

    自动化kolla-ansible部署centos7.9+openstack-train-超融合单机架构   欢迎加QQ群:1026880196 进行交流学习 环境说明: 1. 满足一台电脑一个网卡的环 ...

  3. 让我们一起建设 Vue DevUI 项目吧!🥳

    DevUI Design 是从华为云 DevCloud 众多业务孵化出来的一套设计体系,DevUI 倡导沉浸.灵活.至简的设计价值观,提倡设计者为真实的需求服务,为多数人进行设计,拒绝哗众取宠.取悦眼 ...

  4. 【秒懂音视频开发】21_显示BMP图片

    文本的主要内容是:使用SDL显示一张BMP图片,算是为后面的<播放YUV>做准备. 为什么是显示BMP图片?而不是显示JPG或PNG图片? 因为SDL内置了加载BMP的API,使用起来会更 ...

  5. Laravel 定时任务 任务调度 可手动执行

    1.创建一个命令 php artisan make:command TestCommand 执行成功后会提示: Console command created successfully. 生成了一个新 ...

  6. HTML / CSS技巧 – 可滚动的 tbody(漂亮表格)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. 将这段美化的css代码

    很多时候如果不是用了很多样式,很难把边框修饰得好看,看了一篇博文,觉得真的挺漂亮,也挺好看. 转载的博文地址 将这段美化的css代码 border:1px solid #96c2f1;backgrou ...

  8. hdu1024 最大m子序列和

    题意:      给你一个序列n个数组成,然后让你在里面找到m个子序列,让这m个子序列的和最大. 思路:       dp[i][j]表示的是第j个数字在第i个子序列时的当前最优值. dp[i][j] ...

  9. POJ 3228 二分最大流

    题意:       给你N个位置,每个位置都有金矿数量和仓库数量,然后位置和位置之间的距离给了出来,最后问你吧所有的金矿都放到库里面走的路径 最长的最短 是多少? 思路:      比较简单的一个题, ...

  10. POJ 2516 基础费用流

    题意       有n个顾客,m个供应商,k种货物,给你顾客对于每种货物的要求个数,和供应商对于每种货物的现有量,以及供应每种货物的时候供应商和顾客之间的运输单价,问你满足所有顾客的前提下的最小运输费 ...