本文基于Mysql5.7,介绍的程序大部分位于通用二进制包的bin目录下,只有mysql.server位于support-files目录。
MySQL安装包中有许多不同的程序。本节对它们进行了简要概述。
除特定于平台的程序外,大多数MySQL发行版都包含所有这些程序(例如,在Windows上不使用服务器启动脚本)。唯一的例外是,RPM发行版更加专业化。有一个RPM用于服务器,另一个用于客户端程序,等等。
每个MySQL程序都有许多不同的选项。大多数程序都提供了一个 --help 选项,您可以使用该选项来描述程序的不同选项。例如,尝试 mysql --help。
您可以通过在命令行或选项文件中指定选项来覆盖MySQL程序的默认选项值。
1. 用于启动和停止
MySQL服务器中,mysqld是完成MySQL安装中大部分工作的主程序。服务器随附有几个相关的脚本,可帮助您启动和停止服务器:
- mysqld
SQL守护程序(即MySQL服务器)。要使用客户端程序,必须运行mysqld,因为客户端可以通过连接到服务器来访问数据库。 - mysqld_safe
服务器启动脚本。mysqld_safe 尝试启动mysqld。 - mysql.server
服务器启动脚本。该脚本在使用System V样式运行目录的系统上使用,该目录包含启动特定运行级别的系统服务的脚本。它调用 mysqld_safe启动MySQL服务器。 - mysqld_multi
服务器启动脚本,可以启动或停止系统上安装的多个服务器。
2. 用于安装和升级
有几个程序在MySQL安装或升级过程中执行设置操作:
- comp_err
在MySQL构建/安装过程中使用该程序。它从错误源文件编译错误消息文件。 - mysql_install_db
该程序初始化MySQL数据目录,创建 mysql数据库并使用默认特权初始化其授权表,并设置 InnoDB 系统表空间。首次在系统上安装MySQL时,通常只执行一次。 - mysql_plugin
该程序配置MySQL服务器插件。 - mysql_secure_installation
该程序使您可以提高MySQL安装的安全性。 - mysql_ssl_rsa_setup
如果缺少安全文件,此程序将创建支持安全连接所需的SSL证书和密钥文件以及RSA密钥对文件。mysql_ssl_rsa_setup创建的文件 可用于使用SSL或RSA的安全连接。 - mysql_tzinfo_to_sql
此程序使用主机系统zoneinfo数据库(描述时区的文件集)的内容加载mysql数据库中的时区表。 - mysql_upgrade
在MySQL升级操作之后使用此程序。它使用在新版本的MySQL中所做的任何更改来更新授权表,并检查表中的不兼容性并在必要时进行修复。
3. 用于客户端服务器之间连接
连接到MySQL server的MySQL客户端程序:
- mysql
命令行工具,用于以交互方式输入SQL语句或以批处理模式从文件中执行SQL语句。 - mysqladmin
执行管理操作的客户端,例如创建或删除数据库,重新加载授权表,将表刷新到磁盘以及重新打开日志文件。mysqladmin还可以用于从服务器检索版本,进程和状态信息。 - mysqlcheck
一个表维护客户端,用于检查,修复,分析和优化表。 - mysqldump
将MySQL数据库转储为SQL文件、文本文件或XML文件的客户端。 - mysqlimport
使用LOAD DATA将文本文件导入到各自的表中的客户端。 - mysqlpump
将MySQL数据库作为SQL转储到文件中的客户端。 - mysqlsh
MySQL Shell是MySQL Server的高级客户端和代码编辑器。除了提供的类似于MySQL的SQL功能外,MySQL Shell还为JavaScript和Python提供脚本编写功能,幷包括使用mysql的API。 - mysqlshow
显示有关数据库,表,列和索引的信息的客户端。 - mysqlslap
旨在模拟MySQL服务器的客户端负载并报告每个阶段的时间的客户端。它就像多个客户端正在访问服务器一样工作。
4. MySQL管理和实用程序
MySQL管理和实用程序:
- innochecksum
一个离线的InnoDB离线文件校验和实用程序。 - myisam_ftdump
一个实用程序,用于显示有关MyISAM表中全文索引的信息 。 - myisamchk
描述,检查,优化和修复MyISAM表的实用程序 。 - myisamlog
处理MyISAM日志文件内容的实用程序 。 - myisampack
压缩MyISAM表以生成较小的只读表的实用程序。 - mysql_config_editor
一种实用程序,使您可以将身份验证凭据存储在名为 .mylogin.cnf的安全,加密的登录路径文件中。 - mysqlbinlog
从二进制日志读取语句的实用程序。二进制日志文件中包含的已执行语句的日志可用于帮助从崩溃中恢复。 - mysqldumpslow
用于读取和汇总慢速查询日志内容的实用程序。
5. MySQL程序开发实用程序
MySQL程序开发实用程序:
- mysql_config
一个shell脚本,产生编译MySQL程序时所需的选项值。 - my_print_defaults
一个实用程序,用于显示选项文件的选项组中存在哪些选项。 - resolve_stack_dump
将数字堆栈跟踪转储解析为符号的实用程序。
6. 杂项实用程序
杂项实用程序:
- lz4_decompress
一个实用程序,用于解压缩使用LZ4压缩创建的mysqlpump输出。 - perror
该实用程序显示系统或MySQL错误代码的含义。 - replace
在输入文本中执行字符串替换的实用程序。 - resolveip
将主机名解析为IP地址或反之亦然的实用程序。 - zlib_decompress
一个实用程序,用于解压缩使用ZLIB压缩创建的mysqlpump输出。
Oracle 公司还提供了 MySQL Workbench GUI工具,该工具用于管理MySQL服务器和数据库,创建,执行和评估查询,以及从其他关系数据库管理系统迁移模式和数据。其他GUI工具包括 MySQL Notifier和 MySQL for Excel。
使用MySQL client/server 库与服务器通信的MySQL客户端程序使用以下环境变量:
环境变量 | 含义 |
---|---|
MYSQL_UNIX_PORT | 默认的Unix套接字文件;用于连接到 localhost |
MYSQL_TCP_PORT | 默认端口号;用于TCP / IP连接 |
MYSQL_PWD | 默认密码 |
MYSQL_DEBUG | 调试时的调试跟踪选项 |
TMPDIR | 创建临时表和文件的目录 |
参考文档
https://dev.mysql.com/doc/refman/5.7/en/programs-overview.html