MySQL 配置文件

来自Linux78|wiki

MySQL 有两种类型的参数

• 静态参数 : 重启 MySQL 服务器后才能使之生效 。 • 动态参数 :可以在不重新启动 MySQL 服务器的情况下 即时 更改它 。 变量可以通过以下方式设置 。 • 配置文件: MySQL 有一个配置文件,我们可以在其中指定数据的位置、 MySQL可以使用的内存以及其他各种参数。 • 启动脚本: 可以直接将参数传递给 mysqld 进程 。 启动脚本仅在调用服务器时才有效 。 • 使用 SET 命令 (仅限动态变量):这将持续到服务器重新启动时 。 你还需要在配置文件中设置变量,以便在重新启动时保持更改持久化 。 另一种使更改持久化的方法是在 PERSIST 关键字或阴 persist 之前加上变量名称。

使用配置文件

默认配置文件是/etc/my.cnf

配置文件包含由 section_name 指定的部分。 所有与 section 相关的参数都可 以放在section_name 下面, 例如:

[mysqld] 
<parameter_name> = <value> 
[client]
<parameter name> = <value>
[mysqldunp]
<parameter_name> = <value>
[mysqld_safe]
<parameter_name> = <value>
[server]
<parameter_name> = <value>

• [mysql ]:该部分由 mysql 命令行客户端读取。 • [client ]:该部分由所有连接的客户端读取(包括 mysql_cli) 。 • [mysqld ]:该部分由 mysql 服务器读取 。 • [mysqldump ] : 该部分由名为 mysqldump 的备份工具读取。 • [mysqld_safe ] : 该部分由 mysqld_safe 进程读取( MySQL 服务器启动脚本 )。 除此之外, mysqld safe 进程会从选项文件中的[ mysqld ]和[ server ]部分读取所有选项 。

例如, mysqld_safe 进程从 mysqld 部分读取 pid-file 选项 。

shell> sudo vi /etc/my.cnf
[mysqld]
pid-file = /var/lib/mysql/mysqld .pid

在使用 systemd 的系统中, mysqld safe 将不会被安装 。 要配置启动脚本,需要在/etc/systemd /system/mysqld.service.d/override.conf 中设置值 。

例如:

[Service]
LimitNOFILE=max_open_files
PIDFile=/path/to/pid/file
LimitCore = core_file_limit
Environment= "LD_PRELOAD=/path/to/malloc/library"
Environment= "TZ=time_zone_setting"