MySQL 配置文件
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"