MySQL--变量

2023-10-27 15:37:18 浏览数 (1)

变量

mysql中的变量分为两种

14.1 系统变量

1) 全局变量

在一个会话中修改,其他会话中的全局变量也会跟着修改

show global variables; 查看全局的系统变量

修改变量:

set @@global.time_zone="system"

set global time_zone=" 8:00"

2) 会话级变量

在一个会话中修改,其他会话不受影响

show session variables; 会话级的系统变量

修改变量:

set @@session.time_zone="system"

set sessiontime_zone=" 8:00"

@@的变量就是系统变量

作用:

系统变量实际上用于控制数据库的一些行为和方式的参数。比如我们启动数据库的时候设定多大的内存,使用什么样的隔离级别,日志文件的大小,存放位置等等一系列的东东。当然我们数据库系统启动后,有些系统变量(参数)也可以通过动态修改来及时调整数据库。

set @@session.autocommit=1; 打开或关闭自动事务提交1代表开启自动事务提交,0代表关闭自动事务提交

set @@global.time_zone=' 8:00'; 改变mysql的时区,会影响select now();函数的效果

查看某个变量

show variables like 'autocommit'

show variables like '%auto%'

名称

作用

default_storage_engine

默认存储引擎

max_user_connections

当前连接数

max_connections

允许最大连接数

character-set-server=utf8

服务器的编码

datadir=/opt/mysql5.7/data

数据文件存放地址

basedir=/opt/mysql5.7

数据库基础路径

socket=/opt/mysql5.7/data/mysql.sock

数据库运行实例

innodb_table_locks

表锁

transaction_isolation

事务的隔离级别

14.2 用户变量

用户变量都是以@表示

初始化 :

set @变量名=值;

select @c:=count(1) from student;

select @变量名;

案例1:

代码语言:javascript复制
set @num=1;
set @num=@num 1;
select @num;

案例2:

代码语言:javascript复制
select @c:=count(1) from student;
set @c=@c*2;
select @c;
14.3 服务器变量

Threads_connected :

变量的值是表示当前有多少个客户连接该mysql服务器

show status like 'Threads_connected'

Created_tmp_disk_tables

在硬盘上建立的临时表数目

skip_grant_tables 取消密码验证

修改密码:

update user set authentication_string=password('123.com') where user='root';

刷新权限:

flush privileges;

0 人点赞