MySQL 的程序 和 配置文件
1、MySQL 的 程序
MySQL 是一个软件系统,包含很多程序部分,如 mysql,mysqld, mysqld_multi 等, 在MySQL 安装路径的 bin 文件夹下可查看。
1.1 服务端程序
1)mysqld
守护程序(即 MySQL 服务器)。要使用 Client 端程序,mysqld必须先运行
2)mysqld_safe
服务器启动脚本。 mysqld_safe尝试启动mysqld
3)mysql.server
服务器启动脚本。它调用mysqld_safe来启动 MySQL 服务器。该脚本用于使用System v风格运行目录的系统,这些目录包含启动特定运行级别的系统服务的脚本。
4)mysqld_multi
服务器启动脚本,可以启动或停止系统上安装的多个服务器
- mysql_upgrade
该程序用于MySQL升级操作后使用。它更新授权表,更新MySQL的新版本,并检查表的不兼容性,并在必要时修复它们
。。。。。
还有其他一些服务端程序,但一般使用 mysqld 就满足需求了
1.2 客户端程序
1)mysql
一个命令行工具,可以交互式地输入SQL语句或以批处理模式从文件中执行SQL语句。一般就是用此程序连接MySQL 服务器,进而交互。
2)mysqladmin
执行管理操作的客户端,例如创建或删除数据库、重新加载授权表、将表刷新到磁盘和重新打开日志文件。Mysqladmin还可以用于从服务器检索版本、进程和状态信息
3)mysqlcheck
用于表维护的客户端:检查、修理、分析和优化表。
4)mysqldump
将MySQL数据库转储为SQL、文本或XML文件的客户端
5)mysqlimport
使用LOAD DATA将文本文件导入到各自表中的客户端
6)mysqlpump
将MySQL数据库转储为SQL文件的客户端
。。。。。。
1.3 MySQL管理工具程序
。。。。
1.4 MySQL 程序开发工具
。。。。
详情: https://dev.mysql.com/doc/refman/5.7/en/programs-overview.html
2、配置文件
除了可以直接在命令行中指定选项,大多数 MySQL 程序可以从配置文件中读取启动选项。
2.1 配置文件位置 和 读取顺序
在 Windows 系统中,配置文件读取顺序:
| File Name | Purpose |
|---|---|
| %WINDIR%\my.ini, %WINDIR%\my.cnf | 全局选项 |
| C:\my.ini, C:\my.cnf | 全局选项 |
| BASEDIR\my.ini, BASEDIR\my.cnf | 全局选项 |
| defaults-extra-file | 用--defaults-extra-file指定的文件(如果有) |
| %APPDATA%\MySQL.mylogin.cnf | Login path options (clients only) |
%WINDIR%: Windows 目录的位置,通常是C:\WINDOWS。
%APPDATA%:Windows 应用程序数据目录。
BASEDIR :MySQL 基本安装目录。
MySQL 从 上述表的顺序依次读取配置文件,在后面的配置项会覆盖之前的配置。
在 Unix 和类似 Unix 的系统上读取的选项文件
| File Name | Purpose |
|---|---|
| /etc/my.cnf | Global options |
| /etc/mysql/my.cnf | Global options |
| SYSCONFDIR/my.cnf | Global options |
| $MYSQL_HOME/my.cnf | 服务器特定的选项(仅服务器) |
| defaults-extra-file | 用--defaults-extra-file指定的文件(如果有) |
| ~/.my.cnf | User-specific options |
| ~/.mylogin.cnf | 用户特定的登录路径选项(仅限 Client 端) |
/etc/my.cnf
/etc/mysql/my.cnf
/usr/local/mysql/etc/my.cnf
/usr/local/mysql/my.cnf
~/.my.cnf
~:当前用户 home 目录。
SYSCONFDIR :在构建 MySQL 时使用 CMake 的SYSCONFDIR选项指定的目录,默认情况下,这是位于内置安装目录下的etc目录。
MYSQL_HOME:是一个环境变量,通常设置为 BASEDIR。如果未设置MYSQL_HOME,且使用mysqld_safe程序启动服务器,则mysqld_safe将其设置为 MySQL 基本安装目录* BASEDIR *
DATADIR :通常是/usr/local/mysql/data,尽管这可能因平台或安装方法而异。该值是编译 MySQL 时内置的数据目录位置,而不是mysqld启动时使用--datadir选项指定的位置。在运行时使用--datadir不会影响服务器在处理任何选项之前在何处查找其读取的选项文件。
.mylogin.cnf,是使用mysql_config_editor创建的,并且加密。
MySQL 从 上述表的顺序依次读取配置文件,在后面的配置项会覆盖之前的配置。
2.2 配置文件语法
1) 配置文件指定选项的语法和在命令行中指定选项类似,只是在配置文件中,不需要选项前面的虚线横杠(--),且一行一个配置项
如 在命令行中,--host=localhost , 则在配置文件中 host=localhost
2) 注释, 使用 # 或 ;
# 这是注释
; 这也是注释
3)[group]
group 是要为其设置选项的程序或组的名称。在之后的行中,所有选项设置都将应用于该组,直到定义另一组设置或文件的末尾。选项组名称不区分大小写。
[myslqd]
basedir = /usr/local/mysql
datadir = /var/mysql/data
port = 3306
[client]
port=3306
socket=/tmp/mysql.sock
[mysqldump]
quick
[mysql]
no-auto-rehash
connect_timeout=2
client 是指所有的客户端程序
在配置文件中选项 = 前后可以有空格,这是在命令行中不能的。
如果设置项的值有字符‘#’ ,需要使用引号包围,单引号和双引号 都可以
可以在选项值中使用转义序列\b,\t,\n,\r,\和\s来 表示退格符,制表符,换行符,回车符,反斜杠和空格字符。
4)使用 !include / !includedir 导入配置
在 配置文件中可以 导入其他配置文件的配置
# 导入配置文件
!include /home/mydir/myopt.cnf
# 搜索指定目录下的 配置文件,如果有多个配置文件,读取顺序不能保证一致
!includedir /home/mydir
被导入的配置文件和正常的 配置文件一样,也需要 [group]
https://dev.mysql.com/doc/refman/5.7/en/option-files.html
客户端 mysql 的 选项 https://dev.mysql.com/doc/refman/5.7/en/mysql-command-options.html

浙公网安备 33010602011771号