暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

2、mysql的启动选项和配置文件介绍

JAVA技术百科 2021-04-07
426

mysql服务端可以指定允许同时接入的客户端数量max-connections、客户端与服务器的通信方式、表的默认存储引擎default_storage_engine等等设置项,使得我们可以更加灵活地使用它。

进入正题

我们讲的是基于linux系统的,本文我们主要讲一下:
1、有哪些常用的启动选择配置方式?

2、采用配置文件 配置启动选项有哪些注意点?配置文件读取的优先级?

3、如何查看和设置系统变量?

> 有哪些常用的启动选择配置方式?

1、命令行配置

如:mysqld --skip-networking

该命令行表示启动mysql服务端,同时服务端不允许客户端通过tcp/ip方式连接上来。

2、配置文件配置

如在/etc/my.cnf文件下设置:
[mysqld]
skip-networking

>采用配置文件 配置启动选项有哪些注意点?配置文件的优先级?

1、配置文件配置启动选项时,可以有多个路径进行配置,他们的依次顺序为:

路径说明
/etc/my.cnf系统级的配置
/etc/mysql/my.cnf
SYSCONFDIR/my.cnf
$MYSQL_HOME/my.cnf特定于服务器的选项(仅限服务器)
defaults-extra-file命令行指定的额外配置文件件路径
~/.my.cnf用户特定选项
~/.mylogin.cnf用户特定的登录路径选项(仅限客户端)

下面的配置文件的配置会将上面的覆盖,偏向于用户自定义的配置会将系统级的配置覆盖
也就是说,如果你在/etc/my.cnf文件下配置了:

[mysqld]
default_storage_engine=Innodb

而在 etc/mysql/my.cnf 配置了

[mysqld]
default_storage_engine=MyIsam

那么服务器启动后,表的存储引擎采用的是 MyIsam。

2、配置文件中的配置会被分为若干个组,每个组有一个组名。如:

[server]
(具体的启动选项…)
[mysqld]
(具体的启动选项…)
[mysqld_safe]
(具体的启动选项…)
[client]
(具体的启动选项…)
[mysql]
(具体的启动选项…)
[mysqladmin]
(具体的启动选项…)

[server] 和[client]是两个特殊的组,针对服务端的应用,[server]组下的配置都会起作用。针对客户端的应用,[client]组下的配置都会起作用。

3、如果一个配置项既出现在配置文件里,又出现在命令行中,那么以命令行中的启动选项为准。

> 如何查看和设置系统变量

首先系统变量有其作用范围,主要有global(作用于全局)与session(只作用于当前会话,对其他客户端连接是不生效的)两种。

如果我们想查看当前使用的默认存储引擎,可以使用:

show variables like '%default_storage_engine%';


如果你前面不加session还是global,默认查看的系统变量是session级别的。
你可以通过:

set session default_storage_engine=innodb;

修改系统变量。

也可以通过:

show global variables like '%default_storage_engine%';
show session variables like '%default_storage_engine%';

查看全局和会话级的系统变量。

拓展

另外还有一些是状态变量:
你可以通过

show global status like 'max%';

类似的方式查看。

你可以看到服务端最多被使用的连接数是79,时间点在2020-12-17 16:55:01。


文章转载自JAVA技术百科,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论