总结 1、MySQL的my.cnf文件类似Oracle的参数文件,可以把它理解成oracle的pfile静态参数文件 2、MySQL可以使用set命令动态的修改变量,修改session变量只对当前会话产生影响;修改global变量,对所有新会话的global变量、session变量(特殊情况除外,比如wait_timeout变量)产生影响 3、set命令修改的变量不会写入my.cnf文件,DB重启的话之前set修改的变量就失效了,想要永久生效,就把变量写入到my.cnf文件 4、只读变量,不能使用set修改,只能通过修改my.cnf文件再重启生效 5、全局(GLOBAL)级变量对整个MySQL服务器有效;会话(SESSION)级变量只影响当前会话。有些变量同时拥有这两个级别,MySQL将在建立连接时用全局级变量初始化会话级变量,但一旦连接建立之后,全局级变量的改变不会影响到会话级变量 6、可以把全局(GLOBAL)级变量理解成oracle的system参数,会话(SESSION)级变量理解成oracle的session参数 7、mysql没有类似oracle的create pfile from memory保存所有内存的中参数值的功能,mysql如果要保存所有修改的参数但是没有写入my.cnf的方法,就是select * from INFORMATION_SCHEMA.GLOBAL_VARIABLES查询出来并保存 查看系统变量的值 方法1 mysql> show variables like '%wait_timeout%'; mysql> show global variables like '%wait_timeout%'; mysql> show session variables like '%wait_timeout%'; 注意:show variables优先显示会话级变量的值,如果这个值不存在,则显示全局级变量的值,当然你也可以加上SESSION关键字区别 方法2 mysql> set global show_compatibility_56=on; mysql> select * from INFORMATION_SCHEMA.GLOBAL_VARIABLES where variable_name like '%wait_timeout%' mysql> select * from INFORMATION_SCHEMA.SESSION_VARIABLES where variable_name like '%wait_timeout%' 修改系统变量的值 mysql> set wait_timeout = xxx; mysql> set global wait_timeout = yyy; 只读系统标量,不能使用set修改 mysql> show variables like 'log_bin'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | log_bin | ON | +---------------+-------+ 1 row in set (0.00 sec) mysql> set log_bin=off; ERROR 1238 (HY000): Variable 'log_bin' is a read only variable 只有全局变量,没有会话变量 全局变量修改的时候,其他新开会话的会话变量和全局变量都是修改后的值 会话1 mysql> show variables like 'server_id'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | server_id | 1 | +---------------+-------+ mysql> set server_id=2; ERROR 1229 (HY000): Variable 'server_id' is a GLOBAL variable and should be set with SET GLOBAL mysql> set GLOBAL server_id=2; mysql> show variables like 'server_id'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | server_id | 2 | +---------------+-------+ mysql> show global variables like 'server_id'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | server_id | 2 | +---------------+-------+ 打开另一个会话 全局变量修改的时候,其他新开会话的会话变量和全局变量都是修改后的值 mysql> show variables like 'server_id'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | server_id | 2 | +---------------+-------+ mysql> show global variables like 'server_id'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | server_id | 2 | +---------------+-------+ 有全局变量,也有会话变量 会话变量修改的时候,不影响本身的全局变量,也不影响其他新开会话的会话变量和全局变量 全局变量修改的时候,其他新开会话的会话变量和全局变量都是修改后的值 会话1 mysql> show variables like 'read_buffer_size'; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | read_buffer_size | 131072 | +------------------+--------+ mysql> show global variables like 'read_buffer_size'; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | read_buffer_size | 131072 | +------------------+--------+ mysql> set read_buffer_size=212992; mysql> show variables like 'read_buffer_size'; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | read_buffer_size | 212992 | +------------------+--------+ mysql> show global variables like 'read_buffer_size'; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | read_buffer_size | 131072 | +------------------+--------+ 打开另一个会话2 会话变量修改的时候,不影响本身的全局变量,也不影响其他新开会话的会话变量和全局变量 mysql> show variables like 'read_buffer_size'; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | read_buffer_size | 131072 | +------------------+--------+ mysql> show global variables like 'read_buffer_size'; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | read_buffer_size | 131072 | +------------------+--------+ 会话1继续如下 mysql> set global read_buffer_size=16384; mysql> show variables like 'read_buffer_size'; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | read_buffer_size | 212992 | +------------------+--------+ mysql> show global variables like 'read_buffer_size'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | read_buffer_size | 16384 | +------------------+-------+ 打开另一个会话3 全局变量修改的时候,其他新开会话的会话变量和全局变量都是修改后的值 mysql> show variables like 'read_buffer_size'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | read_buffer_size | 16384 | +------------------+-------+ mysql> show global variables like 'read_buffer_size'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | read_buffer_size | 16384 | +------------------+-------+ 重启之后 重启之后,所有的set修改的变量值都不在了,回到了初始值 mysql> show variables like 'server_id'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | server_id | 1 | +---------------+-------+ mysql> show global variables like 'server_id'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | server_id | 1 | +---------------+-------+ mysql> show variables like 'read_buffer_size'; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | read_buffer_size | 131072 | +------------------+--------+ mysql> show global variables like 'read_buffer_size'; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | read_buffer_size | 131072 | +------------------+--------+
mysql关于variable的总结
来源:这里教程网
时间:2026-03-01 11:39:58
作者:
编辑推荐:
- Word中大于等于号怎么打03-01
- MySQL 变量及性能状态查看知识技巧03-01
- mysql PXC集群脑裂及grastate.dat修改实验03-01
- mysql关于variable的总结03-01
- 如何将Word2003里面的公式转为图片便于阅读03-01
- 关于不同的MySQL复制解决方案概述03-01
- 以实际情况切入,查看MySQL复制问题的解决方案03-01
- 如何设置Word2003里面的图片默认环绕方式03-01
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- MySQL 变量及性能状态查看知识技巧
MySQL 变量及性能状态查看知识技巧
26-03-01 - 关于不同的MySQL复制解决方案概述
关于不同的MySQL复制解决方案概述
26-03-01 - 以实际情况切入,查看MySQL复制问题的解决方案
以实际情况切入,查看MySQL复制问题的解决方案
26-03-01 - 8种手动和自动备份MySQL数据库的方法
8种手动和自动备份MySQL数据库的方法
26-03-01 - 看完这篇,学会MySQL数据复制(含配置教程)
看完这篇,学会MySQL数据复制(含配置教程)
26-03-01 - 数据权限验证MyBatis版
数据权限验证MyBatis版
26-03-01 - MySQL内部开发人员如何看待MySQL组复制?
MySQL内部开发人员如何看待MySQL组复制?
26-03-01 - 3DSMAX打造超酷的飞碟来袭场景
3DSMAX打造超酷的飞碟来袭场景
26-03-01 - MySQL DBA 技术难度低为什么工资比 Oracle 高?
MySQL DBA 技术难度低为什么工资比 Oracle 高?
26-03-01 - 3DSMAX打造欧式古典客厅效果图教程
3DSMAX打造欧式古典客厅效果图教程
26-03-01
