6.1 MySQL 程序概述
MySQL 安装中有许多不同的程序。这部分提供了这些程序的简要概述。后续部分提供了每个程序的详细描述,除了 NDB 集群程序。每个程序的描述都包括其调用语法和支持的选项。第25.5节,“NDB 集群程序” 描述了 NDB 集群程序。
大多数 MySQL 发行版都包含这些程序,除非是平台特定的程序(例如,服务器启动脚本在 Windows 上不使用)。RPM 发行版除外,它们更加专门化。有一款 RPM 是服务器程序,另一款是客户端程序等。如果您缺少某个程序,请查看第2章,《Installing MySQL》,了解不同类型的发行版和它们包含的内容。可能是您使用的发行版不包含所有程序,您需要安装额外的包。
每个 MySQL 程序都可以接受许多不同的选项。多数程序都提供了一个--help
选项,您可以使用它来获取程序的不同选项的描述。例如,尝试mysql --help。
您可以通过在命令行或选项文件中指定选项来覆盖 MySQL 程序的默认值。查看第6.2节,“使用 MySQL 程序”,了解如何调用程序和指定程序选项。
MySQL 服务器,mysqld,是 MySQL 安装中最重要的程序。服务器由多个相关脚本组成,这些脚本帮助您启动和停止服务器:
-
SQL 守护进程(即 MySQL 服务器)。要使用客户端程序,mysqld必须正在运行,因为客户端通过连接到服务器来访问数据库。查看第6.3.1节,“mysqld — MySQL 服务器”。
-
服务器启动脚本。mysqld_safe尝试启动mysqld。查看第6.3.2节,“mysqld_safe — MySQL 服务器启动脚本”。
-
一个服务器启动脚本。该脚本用于在使用 System V风格的运行目录的系统上启动系统服务。它会调用mysqld_safe来启动 MySQL 服务器。请参阅第6.3.3节,“mysql.server — MySQL 服务器启动脚本”。
-
一个可以启动或停止系统上安装的多个服务器的启动脚本。请参阅第6.3.4节,“mysqld_multi — 管理多个 MySQL 服务器”。
多个程序在 MySQL 安装或升级过程中执行设置操作:
-
该程序在 MySQL 构建/安装过程中使用。它将错误信息文件从错误源文件中编译。请参阅第6.4.1节,“comp_err — 编译 MySQL 错误信息文件”。
-
该程序可以提高 MySQL 安装的安全性。请参阅第6.4.2节,“mysql_secure_installation — 提高 MySQL 安装安全性”。
-
该程序使用主机系统zoneinfo数据库(描述时区的文件集)中的内容来加载mysql数据库中的时区表。请参阅第6.4.3节,“mysql_tzinfo_to_sql — 加载时区表”。
MySQL 客户端程序连接到 MySQL 服务器:
-
命令行工具,用于交互式地输入 SQL 语句或在批处理模式下执行语句。请参阅第6.5.1节,“mysql — MySQL 命令行客户端”。
-
一个执行管理操作的客户端,例如创建或删除数据库、重新加载授权表、将表flush到磁盘、重新打开日志文件。mysqladmin也可以用来从服务器检索版本、进程和状态信息。请参阅第6.5.2节,“mysqladmin — MySQL服务器管理程序”。
-
一个表维护客户端,可以检查、修复、分析和优化表。请参阅第6.5.3节,“mysqlcheck — 表维护程序”。
-
一个客户端,可以将MySQL数据库dump到文件中,以SQL、文本或XML格式。请参阅第6.5.4节,“mysqldump — 数据库备份程序”。
-
一个客户端,可以将文本文件导入到对应表中使用
LOAD DATA
。请参阅第6.5.5节,“mysqlimport — 数据导入程序”。 -
MySQL Shell是一个高级客户端和代码编辑器,用于MySQL Server。请参阅MySQL Shell 8.4。此外,MySQL Shell还提供了JavaScript和Python脚本功能,以及与MySQL的API。X DevAPI使您可以同时处理关系数据和文档数据,见第22章,“使用 MySQL 作为文档存储器”。AdminAPI使您可以使用 InnoDB 集群,见MySQL AdminAPI。
-
一个显示数据库、表、列和索引信息的客户端。请参阅第6.5.6节,“mysqlshow — Display Database, Table, and Column Information”。
-
一个模拟客户端负载的客户端,并报告每个阶段的时间。它就像多个客户端访问服务器一样工作。请参阅第6.5.7节,“mysqlslap — A Load Emulation Client”。
MySQL管理和实用程序:
-
一个离线
InnoDB
离线文件校验工具。请参阅第6.6.2节,“innochecksum — Offline InnoDB File Checksum Utility”。 -
一个显示
MyISAM
表的全文索引信息的工具。请参阅第6.6.3节,“myisam_ftdump — Display Full-Text Index information”。 -
一个用于描述、检查、优化和修复
MyISAM
表的工具。请参阅第6.6.4节,“myisamchk — MyISAM Table-Maintenance Utility”。 -
一个处理
MyISAM
日志文件内容的工具。请参阅第6.6.5节,“myisamlog — Display MyISAM Log File Contents”。 -
一个将
MyISAM
表压缩到读取只读表的工具。请参阅第6.6.6节,“myisampack — Generate Compressed, Read-Only MyISAM Tables”。 -
一个用于存储身份验证凭证的安全加密登录文件路径名为
.mylogin.cnf
的实用工具。请参阅第6.6.7节,“mysql_config_editor — MySQL 配置工具”。 -
一个用于迁移密钥之间的工具。请参阅第6.6.8节,“mysql_migrate_keyring — 密钥迁移工具”。
-
一个用于读取二进制日志文件的工具。日志文件中的执行语句可以用来恢复崩溃。请参阅第6.6.9节,“mysqlbinlog — 二进制日志文件处理工具”。
-
一个用于读取和总结慢查询日志文件的工具。请参阅第6.6.10节,“mysqldumpslow —Slow Query Log 文件总结工具”。
MySQL 程序开发工具:
-
一个 shell 脚本,生成编译 MySQL 程序所需的选项值。请参阅第6.7.1节,“mysql_config — 编译客户端选项”。
-
一个工具,显示选项文件中的选项。请参阅第6.7.2节,“my_print_defaults — 显示选项文件中的选项”。
其他工具:
-
一个工具,显示系统或 MySQL 错误代码的含义。请参阅第6.8.1节,“perror — 显示 MySQL 错误信息”。
甲骨文公司还提供了MySQL Workbench图形用户界面工具,这款工具用于管理MySQL服务器和数据库,创建、执行和评估查询,并将其他关系型数据库管理系统中的架构和数据迁移到MySQL中。
使用MySQL客户端库与服务器通信的MySQL客户端程序使用以下环境变量。
Environment Variable | Meaning |
---|---|
MYSQL_UNIX_PORT |
Unix套接字文件的默认值;用于连接到localhost |
MYSQL_TCP_PORT |
用于TCP/IP连接的默认端口号 |
MYSQL_DEBUG |
调试时的调试跟踪选项 |
TMPDIR |
临时表和文件的创建目录 |
要查看MySQL程序使用的所有环境变量列表,请见第6.9节,“环境变量”。