目录
1. 要显示已配置的服务器选项可以有哪几种方法,分别举例说明。
2. 使用选项文件有哪些好处?
3. 给出在 Linux 系统上的标准选项文件的名称和保存的位置。
4. 请说明选项文件中的 [client] 和 [server] 组的适用范围。
5. 如果在多个配置文件中指定了一个相同的选项值,或者在同一配置文件内的多个组中指定了相同的选项值,系统如何处理?
6. 请说明 --no-defaults 命令行长选项的作用。
7. MySQL 维护的变量从作用域分为 GLOBAL 和 SESSION,从功能上分为动态和持久的,你是如何理解的。
8. 要查看系统变量,有哪几种常用的办法,举例说明。
9. 在同一台服务器上启动多个 mysqld 实例时,必须要隔离的对象有哪些?
1. 要显示已配置的服务器选项可以有哪几种方法,分别举例说明。
要显示已配置的 MySQL 服务器选项,可以使用以下几种方法:
① 使用 SHOW VARIABLES 语句:
SHOW VARIABLES;
此语句会列出所有当前配置的系统变量及其值。
② 使用命令行选项 --help --verbose :
在命令行中运行:
mysqld --help --verbose
此命令会输出 MySQL 服务器的所有配置选项及其默认值。
③ 检查 my.cnf 或 my.ini 配置文件:
直接查看配置文件,了解已配置的选项和参数。
2. 使用选项文件有哪些好处?
使用选项文件的好处:
① 集中管理:可以在一个文件中集中管理配置选项,方便统一修改和维护。
② 持久化配置:配置永久保存在文件中,服务器重启后仍然有效。
③ 分组管理:通过不同的组标签,可以为不同的客户端工具或服务器实例配置不同的选项。
3. 给出在 Linux 系统上的标准选项文件的名称和保存的位置。
在 Linux 系统上,MySQL 的标准选项文件通常为:
① 全局配置文件: /etc/my.cnf 或 /etc/mysql/my.cnf
② 用户级配置文件: ~/.my.cnf 特定 MySQL 安装的配置文件: /usr/local/mysql/etc/my.cnf
4. 请说明选项文件中的 [client] 和 [server] 组的适用范围。
选项文件中的 [client] 和 [server] 组的适用范围:
① [client] 组:适用于所有 MySQL 客户端工具,如 mysql 、 mysqldump 等。配置在此组中的选项将应用于所有客户端程序。
② [server] 组:适用于 MySQL 服务器 (mysqld) 。配置在此组中的选项只影响服务器的行为。
5. 如果在多个配置文件中指定了一个相同的选项值,或者在同一配置文件内的多个组中指定了相同的选项值,系统如何处理?
① 如果在多个配置文件中指定了相同的选项值, MySQL 按优先级处理:
优先级顺序:MySQL 按文件读取顺序应用选项,后读取的文件会覆盖前面文件中的相同选项。
② 同一文件内的优先级:如果在同一配置文件的多个组中定义了相同的选项值,且这些组适用
于同一程序,则最后定义的值会覆盖前面的值。
6. 请说明 --no-defaults 命令行长选项的作用。
--no-defaults 命令行长选项:
用于启动 MySQL 时不读取任何配置文件,完全依赖命令行提供的选项。这样可以避免配置文件中的设置干扰特定场景下的启动。
7. MySQL 维护的变量从作用域分为 GLOBAL 和 SESSION,从功能上分为动态和持久的,你是如何理解的。
GLOBAL 和 SESSION 变量的作用域及动态和持久性理解:
① 作用域:
GLOBAL 变量影响整个服务器实例,对所有连接有效。
SESSION 变量仅影响当前会话,可以由用户修改且仅在该会话内有效。
② 动态和持久性:
动态变量可以在服务器运行时修改,使用 SET GLOBAL 或 SET SESSION 语句。
持久变量通过配置文件设置,重启后仍然生效。如果仅使用 SET GLOBAL 修改,重启后会恢复为配置文件中的值。
8. 要查看系统变量,有哪几种常用的办法,举例说明。
查看 MySQL 系统变量的方法:
① 使用 SHOW VARIABLES 语句:
SHOW VARIABLES;
② 使用 SELECT 查询 @@ 系统变量:
SELECT @@variable_name;
③ 使用 SHOW GLOBAL VARIABLES 查看全局变量;
使用 SHOW SESSION VARIABLES 查看会话变量。
9. 在同一台服务器上启动多个 mysqld 实例时,必须要隔离的对象有哪些?
在同一台服务器上启动多个 mysqld 实例时,必须要隔离的对象:
① 数据目录:每个实例必须有独立的数据目录。
② 端口号:每个实例必须使用不同的端口号进行通信。
③ 套接字文件(对于 UNIX 系统):每个实例应有独立的套接字文件路径。
④ 日志文件:如错误日志、慢查询日志、二进制日志等,每个实例应有独立的日志文件路径。