千家信息网

mysql关于variable知识点有哪些

发表于:2024-10-09 作者:千家信息网编辑
千家信息网最后更新 2024年10月09日,这篇文章主要讲解了"mysql关于variable知识点有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"mysql关于variable知识点有哪些
千家信息网最后更新 2024年10月09日mysql关于variable知识点有哪些

这篇文章主要讲解了"mysql关于variable知识点有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"mysql关于variable知识点有哪些"吧!

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知识点有哪些"的内容了,经过本文的学习后,相信大家对mysql关于variable知识点有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

变量 全局 影响 参数 文件 时候 新开 知识 知识点 方法 系统 学习 内容 命令 就是 情况 有效 特殊 两个 关键 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 极客网络安全运维课程 软件开发项目心得总结简短 2019年网络安全灾难事件 网络安全的基本特性是 2020互联网科技公司排名 有专科学历可以报考网络安全员吗 长沙华中近帮互联网科技 开展节前网络安全 软件开发流程图模板网站 网络技术有限公司官网模板 软件开发都是高材生干的吗 广西钦州网络安全知识竞赛 软件开发转人工智能好吗 网络安全女生好就业吗 合肥东篱网络技术有限公司 首届中国网络安全研讨会 软件开发步骤及周期 数据库要避免外键吗 小溪互联网科技公司 网络安全法61条释义 什么企业需要服务器托管和租用 做软件开发用什么系统 信息通信和网络安全职位 计算机网络技术需要学好高数吗 目前代理服务器软件产品主要有 数据库管理系APP 梦幻西游手游外国服务器 net form 需要服务器吗 服务器无法访问本机数据 阿里淘宝有什么数据库
0