MySQL设置global变量和session变量

1、在MySQL中要修改全局(global)变量,有两种方法:

方法一,修改my.ini配置文件,如果要设置全局变量最简单的方式是在my.ini文件中直接写入变量配置,如下图所示。重启数据库服务就可以使全局变量生效。

我们打开几个mysql命令行,可以看到所有会话中的变量都生效了,如图

方法二,在不修改配置文件的基础上,使用关键字global设置全局变量

set global autocommit=1;

将autocommit变量的值设置为ON

需要注意的是,使用此方法对global全局变量的设置仅对于新开启的会话才是有效的,对已经开启的会话不生效。

2、在MySQL中要修改会话(session)变量,可以使用session关键字,如:

set session autocommit=1;

修改session变量配置,仅仅是对本session的变量配置有效,对于其他session无效。

3、虽然设置了global变量、session变量,但是在mysql服务重启之后,数据库的配置又会重新初始化,一切按照my.ini的配置进行初始化。global和session的配置都会失效了。

原文地址:https://www.cnblogs.com/mrbug/p/9751919.html

时间: 2024-09-30 15:38:54

MySQL设置global变量和session变量的相关文章

mysql 系统变量和session变量

mysql系统变量包括全局变量(global)和会话变量(session),global变量对所有session生效,session变量包括global变量.mysql调优必然会涉及这些系统变量的调整,所以我们首先得会查询系统变量. 1. 查询全局变量:show global variables \G; 2. 查询会话变量:show session variables \G;或show variables: show session variables where variable_name l

mysql基础--global参数和session参数的设置

1.修改my.ini配置文件,如果要设置全局参数最简单的方式是在my.ini文件中直接写入参数配置,如下图所示.重启数据库服务就可以使全局参数生效. 如下图所示,所有新开的session中的参数都生效了 2.在不修改配置文件的基础上,设置全局参数,set global autocommit=1;将autocommit参数的值设置为ON 其他session窗口中的参数也没有生效 由上图可以看出设置了全局参数,但是查询出来的autocommit参数还是没有发生变化.是我们设置失败了吗?不是的,此时需

MySQL服务 - MySQL变量类型及变量设置

一.MySQL变量类型: MySQL通过变量来定义当前服务器的特性,保存状态信息等.我们可以通过手动更改变量的值来配置MySQL,也可以通过变量获得MySQL的当前状态信息.MySQL的变量类型可以从变量的修改方式和变量的生效范围划分. 1.根据变量修改的方式: 动态变量:可以在MySQL运行时调整其指,并立即生效: 静态变量:需要在配置文件中修改,重启服务后生效: 2.根据变量的生效范围: 全局变量:服务级别的设定,对整个服务生效: 会话变量:仅对当前会话生效,其他会话和新会话不受影响:会话结

MySQL数据类型、变量修饰及变量区别

客户端程序:mysql.mysqladmin.mysqldump.mysqlimport.mysqlcheck 服务器端程序:mysqld, mysqld_safe, mysqld_multi my.cnf配置文件查找顺序,以最后一个找到的为准 /etc/my.cnf --> /etc/mysql/my.cnf --> $MYSQL_HOME/my.cnf --> --default-extra-file=/path/to/somefile --> ~/.my.cnf (用户家目录

MySQL中Global、Session和Both(Global & Session)范围

1. Global & Dynamic example:slow_query_log ?  显示该变量的值: 当前设置为OFF ?  在一个session中设置该Global &Dynamic类型的变量: 可以看到,对于global类型的变量必需通过global关键字来设置其值. ?  在同一个session中重新查看该变量的值: 发现该变量值已经发生了改变. ?  通过另外的session来查看该变量的值: ü  该session在改变变量值时已存在 ü  该session在改变变量值时

MySQL的启动选项和系统变量该如何配置?

MySQL的配置信息可以通过两种方式实现,一种是命令行形式,在启动MySQL服务时后边带上相关配置参数,此种方式会在MySQL重启后失效.另外一种是通过写入配置文件,如my.cnf,启动或者重启MySQL服务都会生效,此种方式是永久生效. 启动选项 命令行 在MySQL服务命令启动时,带上配置参数 命令格式: 启动命令 --启动选项1[=值1] --启动选项2[=值2] ... --启动选项n[=值n] 例如: mysqld --default-storage-engine=MyISAM //设

4、MySQL进程连接、交互、变量

<--目录--> 1)进程连接 2)交互 3)变量 [进程连接] mysql> show processlist; #查看MySQL当前所有进程连接 [交互] mysql> system ls /tmp    #MySQL交互下查看tmp目录下内容 [变量] mysql> show variables;  #查看变量 mysql> show status;  #查看状态 mysql> show global stat;  #查看全局状态 mysql> sho

Session变量不能转移到下页.解决: session.use_trans_sid = 1

附:文摘 ============================================================ 在PHP使用SESSION的朋友可能会碰到这么一个问题.SESSION变量不能跨页传递.这令我苦恼了好些日子,终于通过查资料思考并攻克了这个问题.我觉得.出现这个问题的解决办法有下面几点: 1.client禁用了cookie 2.浏览器出现故障,临时无法存取cookie 3.php.ini中的session.use_trans_sid = 0或者编译时没有打开--e

Session变量不能传送到下一页.解决: session.use_trans_sid = 1

在PHP中使用过SESSION的朋友可能会碰到这么一个问题,SESSION变量不能跨页传递.这令我苦恼了好些日子,最终通过查资料思考并解决了这个问题.我认为,出现这个问题的原因有以下几点: 1.客户端禁用了cookie 2.浏览器出现问题,暂时无法存取cookie 3.php.ini中的session.use_trans_sid = 0或者编译时没有打开--enable-trans-sid选项 为什么会这样呢?下面我解释一下: Session储存于服务器端(默认以文件方式存储session),根