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
服务器启动脚本,可以启动或停止系统上安装的多个服务器

  1. 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

posted @ 2021-11-29 17:29  zhanglw  阅读(422)  评论(0)    收藏  举报