一、MySQL 参数介绍和设置
1. 参数的分类
```
1. 全局参数:GLOBAL
-可修改参数
-只读参数
2. 会话参数:SESSION(只对当前会话生效)
-可修改参数
-只读参数
说明:
1. 用户可在线修改非只读参数,而只读参数只能通过修改配置文件后并重启生效。
2. 【要点】所有在线修改过的参数(global/session)在重启MySQL后都会丢失,不会被写入my.cnf中,即无法将修改进行持久化。
3. 有些参数即存在于GLOBAL又存在于SESSION,比如autocommit
```
### 2. 查看参数
#### 2.1 查看会话变量
```
1. 语法:
语法1:show [session] variables like 'xxx'; #可为具体值也可为模糊值。
语法2:select @@session.具体变量名;
2. 范例:
范例1、查看以max_开头的会话变量。
mysql> show variables like 'max_%';
范例2、查看会话变量autocommit的值。
mysql> show session variables like 'autocommit';
mysql> select @@session.autocommit;
variable [ˈverɪəbl] n.变量
```
#### 2.2 查看全局变量
```
1. 语法:
语法1:show global variables like 'xxx';
语法2:select @@global.具体变量名;
2. 范例:
范例1、查看全局变量autocommit的值。
mysql> show global variables like 'autocommit';
mysql> select @@global.autocommit;
```
### 3. 设置变量
#### 3.1 设置会话变量
```
1. 语法:set [session] 具体变量名 = xxx;
2. 注意事项:
# 设置会话变量时session可以省略。
3. 范例:
范例1、设置会话变量autocommit的值为on
mysql> set autocommit = on;
mysql> set session autocommit = on;
# autocommit = on 或 autocommit = 1 两种写法均可。
# 当autocommit被设置为on时,在当前会话执行操作时,例如向表中插入数据,会自动提交无需手动提交,但仅限于在当前会话中。
```
#### 3.2 设置全局变量
```
1. 语法:set global 具体变量名 = xxx;
2. 范例:
范例1、设置全局变量slow_query_log的值为off
mysql> set global slow_query_log = off;
```
#### 3.3 设置即是会话参数又是全局参数的参数
```
# 参数autocommit即是会话参数又是全局参数。
# 【重点】全局参数设置之后不会影响当前会话的参数值,即只在以后新建的会话中生效。
mysql> set global autocommit = on;
Query OK, 0 rows affected (0.00 sec)
mysql> show global variables like 'autocommit'; # 或以下写法均可
mysql> select @@global.autocommit;
+---------------------+
| @@global.autocommit |
+---------------------+
| 1 |
+---------------------+
1 row in set (0.00 sec)
mysql> show session variables like 'autocommit'; # 或以下写法均可
mysql> select @@session.autocommit;
+----------------------+
| @@session.autocommit |
+----------------------+
| 0 |
+----------------------+
1 row in set (0.00 sec)
```
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




