MYSQL 启动选项和系统变量

目录

1 启动选项

1.1 在命令行上使用选项

1.1.1 长形式

1.1.2 短形式

1.2 在配置文件上使用选项

1.2.1 配置文件路径

1.2.2 配置文件的内容

2 系统变量

2.1 查看系统变量

2.2 设置系统变量

2.2.1 通过启动选项配置

2.2.3 系统变量的作用范围

3 启动选项和系统变量的区别

4 状态变量


1 启动选项

1.1 在命令行上使用选项

  • 选项名区分大小写
  • 只作用当次启用

1.1.1 长形式

  • 选项名前使用--
  • 选项名、选项值、=之间不允许有空白字符
  • 选项名之间可以用下划线 _ 也可以用短划线 - 连接
# 禁止客户端通过TCP/IP连接 
mysqld --skip-networking 
mysqld --skip_networking 

# 设置默认存储引擎
mysqld --default-storage-engine=InnoDB 

1.1.2 短形式

  • 选项值前使用-
  • 选项和选项值之间可以有或者没有空白字符,密码选项(-p)除外,不允许间隔空白字符
mysql -uroot -P 3306 -p123456

1.2 在配置文件上使用选项

1.2.1 配置文件路径

MYSQL 启动选项和系统变量_第1张图片

 配置文件优先级由表从上到下逐级递增,即 /etc/my.cnf  << ~/.my.cnf。

如果配置文件不存在,手动创建一个即可。

1.2.2 配置文件的内容

配置选项被划分为若干个组,每组有个组名,用[]括起来

# 应用于mysql客户端程序
[mysql]    
(具体的启动选项...)

# 应用于mysqld服务器程序
[mysqld]   
(具体的启动选项...)

# 应用于mysqld_safe启动文件
[mysqld_safe]
(具体的启动选项...)

# 应用于所有客户端程序
[client]    
(具体的启动选项...)

# 应用于所有服务器程序
[server]    
(具体的启动选项...)

同一个配置文件中的优先级,最后一个出现的组中的启动选项优先级最大。

[server]
default-storage-engine=InnoDB

[mysqld]
default-storage-engine=MyISAM

 如上配置于同一个配置文件中,最后默认作用的存储引擎是 MyISAM

2 系统变量

2.1 查看系统变量

# 默认 SESSION
SHOW [GLOBAL|SESSION] VARIABLES [LIKE 匹配的模式];  

# 查看当前 SESSION 允许同时连接的最大客户端数;
SHOW VARIABLES LIKE "max_connections";

2.2 设置系统变量

2.2.1 通过启动选项配置

  • 通过命令行配置
  • 通过配置文件配置
  • 在服务器运行过程中配置
# 方式一
# 默认 SESSION
SET [GLOBAL|SESSION] 系统变量名 = 值;

# 方式二
# 默认 SESSION
SET [@@ (GLOBAL|SESSION)).]系统变量名 = 值;

2.2.3 系统变量的作用范围

  • GLOBAL 影响服务器的整体操作。
  • SESSION 影响某个客户端的连接操作。

服务器在启动时,初始化全局变量为默认值,还为每个连接的客户端维护一组会话便变量。

通过启动选项设置的系统变量都是GLOBAL的。

如果某个客户端改变了某个系统变量在GLOBAL的值,并不会影响系统变量在当前已经连接的客户端作用范围SESSION的值,只会影响后续连入的客户端SESSION作用范围的值。

不是所有系统变量都有GLOBAL和SESSION范围,某些只有GLOBAL如max_connections,某些只有SESSION如insert_id。

3 启动选项和系统变量的区别

启动选项是程序启动时用户传递的一些参数,系统变量是影响服务器程序行为的变量。

大部分系统变量可以作为启动选项传入;某些系统变量是程序生成的,不可以作为启动项;有些启动项不是系统变量,如default-file。

4 状态变量

服务器会维持一些变量用于监控服务器运行状态,可以通过下列命令查看

# 默认SESSION
SHOW [GLOBAL|SESSION] STATUS [LIKE 匹配的模式];

MYSQL 启动选项和系统变量_第2张图片

 

你可能感兴趣的:(mysql,数据库)