数据库系统变量分类及设置

简介:

标题索引


  • 变量分类

  • 变量设置


变量分类

    变量主要分为全局变量和会话变量,全局变量是当客户端程序与服务器端建立会话后自动集成部分全局变量的值,而会话变量是只对当前变量有效,另外全局变量有些支持在线修改,有些则是只读变量,只读变量只允许在配置文件中加载值。

变量设置

   1.全局变量设置

    全局变量保存在数据库information_schema的GLOBAL_VARIABLES表中,因此修改时可以通过配置文件加载时修改,部分变量也可通过在线修改,在线修改时通常有两种命令方式,分别如下:

    mysql>SET GLOBAL system_var_name=value;

    mysql>SET @@global.system_var_name=value;

    举例说明如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
MariaDB [(none)]> show  global  variables  like  'transaction_prealloc_size' ;
+ ---------------------------+-------+
| Variable_name             | Value |
+ ---------------------------+-------+
| transaction_prealloc_size | 4096  |
+ ---------------------------+-------+
1 row  in  set  (0.00 sec)
MariaDB [(none)]>  set  global  transaction_prealloc_size=8192;
Query OK, 0  rows  affected (0.00 sec)
 
MariaDB [(none)]> show  global  variables  like  'transaction_prealloc_size' ;
+ ---------------------------+-------+
| Variable_name             | Value |
+ ---------------------------+-------+
| transaction_prealloc_size | 8192  |
+ ---------------------------+-------+
1 row  in  set  (0.00 sec)
MariaDB [(none)]>  set  @@ global .transaction_prealloc_size=4096;
Query OK, 0  rows  affected (0.00 sec)
 
MariaDB [(none)]> show  global  variables  like  'transaction_prealloc_size' ;
+ ---------------------------+-------+
| Variable_name             | Value |
+ ---------------------------+-------+
| transaction_prealloc_size | 4096  |
+ ---------------------------+-------+
1 row  in  set  (0.00 sec)

    2.会话变量设置

    会话变量保存在数据库information_schema的SESSION_VARIABLES表中,因此修改时可以通过配置文件加载时修改,部分变量也可通过在线修改,在线修改时通常有两种命令方式,分别如下:

    mysql>SET SESSION system_var_name=value;

    mysql>SET @@session.system_var_name=value

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
MariaDB [(none)]> show session variables  like  'wait_timeout' ;
+ ---------------+-------+
| Variable_name | Value |
+ ---------------+-------+
| wait_timeout  | 28800 |
+ ---------------+-------+
1 row  in  set  (0.00 sec)
 
MariaDB [(none)]>  set  session wait_timeout=30000;
Query OK, 0  rows  affected (0.00 sec)
 
MariaDB [(none)]> show session variables  like  'wait_timeout' ;
+ ---------------+-------+
| Variable_name | Value |
+ ---------------+-------+
| wait_timeout  | 30000 |
+ ---------------+-------+
1 row  in  set  (0.00 sec)
 
MariaDB [(none)]>  set  @@session.wait_timeout=28800;
Query OK, 0  rows  affected (0.00 sec)
 
MariaDB [(none)]> show session variables  like  'wait_timeout' ;
+ ---------------+-------+
| Variable_name | Value |
+ ---------------+-------+
| wait_timeout  | 28800 |
+ ---------------+-------+
1 row  in  set  (0.00 sec)

    3.会话变量转全局变量

    会话变量调整为全局变量时,通常采用如下方法:

    mysql> set @@session.wait_timeout=@@global.wait_timeout;



本文转自 薛伟博 51CTO博客,原文链接:http://blog.51cto.com/weiboxue/2043560,如需转载请自行联系原作者


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
543 13
|
SQL druid Java
线程池相关故障问题之Druid数据库连接池中,为何需要设置TransactionTimeout
线程池相关故障问题之Druid数据库连接池中,为何需要设置TransactionTimeout
1119 0
|
关系型数据库 分布式数据库 数据库
PolarDB产品使用问题之在部署PolarDB-Kubernetes时,如何设置数据库密码
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
468 56
|
SQL 存储 Oracle
南大通用GBase 8s数据库游标变量解析:提升数据库操作效率
南大通用GBase 8s 数据库游标变量解析:提升数据库操作效率
|
SQL 关系型数据库 MySQL
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
课程分类查询、课程新增、统一异常处理、统一封装结果类、JSR303校验、修改课程、查询课程计划、新增/修改课程计划
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
1244 3
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
1683 2
|
应用服务中间件 数据库
Tomcat 的数据库连接池设置与应用
Tomcat 的数据库连接池设置与应用
344 3
|
存储 分布式计算 数据库
阿里云国际版设置数据库云分析工作负载的 ClickHouse 版
阿里云国际版设置数据库云分析工作负载的 ClickHouse 版
|
SQL 关系型数据库 MySQL
MySQL数据库中给表添加字段并设置备注的脚本编写
通过上述步骤,你可以在MySQL数据库中给表成功添加新字段并为其设置备注。这样的操作对于保持数据库结构的清晰和最新非常重要,同时也帮助团队成员理解数据模型的变化和字段的具体含义。在实际操作中,记得调整脚本以适应具体的数据库和表名称,以及字段的详细规范。
996 8

热门文章

最新文章