MySQL 参数设置

概述

mysql的参数可以分为两类:

  • 动态参数,数据库启动期间能被修改,而修改又分为两种(global级,session级)。
  • 静态参数,即数据库启动期间不能修改。

接下来利用参数wait_timeout介绍参数的一些操作,注意wait_timeout的值还受interactive_timeout的影响,先不管这些了,只是介绍操作

一、参数的查看

1.1 查看global级参数

mysql> select @@global.wait_timeout;
mysql> show global variables like ‘wait_timeout’;
mysql> select * from performance_schema.global_variables where variable_name =‘wait_timeout’;

1.2 查看session级参数

(session可以用local替代,后面同)
mysql> select @@wait_timeout;
mysql> select @@session.wait_timeout;
mysql> show variables like ‘wait_timeout’;
mysql> show session variables like ‘wait_timeout’;
mysql> select * from performance_schema.session_variables where variable_name =‘wait_timeout’;

注意:对于静态参数,没有global级和session级区分,因为这种参数global级和session级是一样的,用以上任意一种方法均可。

二、参数的修改

2.1 session级参数的修改

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

2.2 global级参数的修改

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

global级参数的修改注意事项:

  • 修改需要super权限
  • show variables会发现参数并没有生效,这是因为set global只改了global级的参数,只对重新打开的会话生效。
    如果想修改已经打开的会话的参数,需要执行set wait_timeout=10。

2.3 session级参数和global级参数转换方法

将session级参数值设置为global级参数值
mysql> set @@session.wait_timeout=@@global.wait_timeout;

将global级参数值设置为session级参数值
mysql> set @@global.wait_timeout=@@session.wait_timeout;

2.4 将参数值设置为MySQL编译时的默认值

session级
mysql> set wait_timeout=DEFAULT;

global级
mysql> set global wait_timeout=DEFAULT;

注意:并不是所有的动态参数都能被设置为DEFAULT

2.5 永久生效和静态参数修改

2.1~2.4所提供的修改动态参数的方法并不是永久的,随着数据库关闭而消失。如果需要永久生效,就应该修改参数文件并重启生效。

vi /etc/my.cnf

[mysqld]
wait_timeout=10

静态参数的修改也只能通过修改参数文件,如在数据库中修改静态参数会报以下错误
(root@localhost)[performance_schema]> set global datadir=’/db/mysql’;
ERROR 1238 (HY000): Variable ‘datadir’ is a read only variable

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL参数设置有多种方式,具体如下: 1. 通过set命令设置参数: - 使用`set [session] 参数名 = 参数值;`来设置当前会话(连接)参数。这种方式会话断开后配置失效。 - 使用`set global 参数名 = 参数值;`来设置全局参数。这种方式需要MySQL实例重启后生效,配置也会在重启后失效。 - 注意,通过命令设置参数优先级高于配置文件,相同配置的命令执行后会覆盖配置值,但只在会话或MySQL实例中生效,不同步到配置文件中。 2. 通过配置文件设置参数: - 在Windows系统中,配置文件my.ini存放在MySQL安装的根目录下。 - 在Linux系统中,配置文件my.cnf存放在/etc目录下。 - 你可以编辑这些配置文件,在文件中设置参数值。这样每次启动MySQL实例时都会加载配置文件中的参数值。 3. Connection连接参数: - `max_connections`参数用于限制最大连接数。连接状态有两种:Sleep(连接处于闲置状态)/Query(连接正在处理任务的状态)。 - Sleep和Query状态的连接数之和不能超过`max_connections`的设置值,否则数据库会抛出异常“ERROR 1040: Too many connections”。 - 你可以使用`show VARIABLES like 'max_connections';`命令查看该参数的值。 以上是关于MySQL参数设置的一些方法和连接参数的说明。你可以根据具体需求选择适合的方式来进行参数设置。如果需要了解更多关于MySQL参数的信息,可以参考MySQL官方文档中的相关部分。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值