游乐游手机版
首页/数据库/文章详情

Linux下MySQL配置文件与常用选项图文详解

时间:2026-07-22 19:56
MySQL在Linux下的配置包括服务端mysqld与客户端mysql的常用选项,涉及配置文件my cnf的路径、读取顺序、语法规则及!includedir动态加载目录。通过命令行与配置文件可灵活管理连接、查询与参数调优。

MySQL在Linux环境下的配置过程看似繁琐,但只要理清几个核心概念,就能快速上手。下面我们从程序组成开始逐步梳理。

1. MySQL程序

1.1 MySQL程序简介

安装完MySQL之后,通常会附带以下几类程序。在Linux系统中,这些程序通常位于/usr/bin目录,通过一条命令即可查看:

ll   /usr/bin/mysql*

linux操作系统下mysql的配置文件和常用选项图文详解

这其中,MySQL程序可以清晰地分为两类:服务端和客户端,各自承担不同的职责。

linux操作系统下mysql的配置文件和常用选项图文详解

2. mysqld与mysql

2.1 mysqld介绍

mysqld就是常说的MySQL服务器,它是一个多线程程序,核心职责是管理数据目录——该目录存放着所有数据库、表,以及日志文件和状态文件。服务器启动后,会侦听指定端口,处理来自客户端程序的网络连接,并协调不同客户端对数据库的访问。

linux操作系统下mysql的配置文件和常用选项图文详解

2.2 mysql客户端

2.2.1 mysql客户端介绍

mysql是一个简单的SQL shell,既能输入命令,也能执行SQL语句。查询结果会以ASCII表格形式展示,非常直观。下面演示一下连接方式:

# 长选项格式
mysql --user=user_name --password [db_name]
# 短选项格式
mysql -uuser_name -p [db_name]

2.2.2 mysql常用选项

常用选项的对照关系如下:

linux操作系统下mysql的配置文件和常用选项图文详解

linux操作系统下mysql的配置文件和常用选项图文详解

参照上述说明,下面演示几个常用示例:

mysql --version

linux操作系统下mysql的配置文件和常用选项图文详解

mysql --database=test

linux操作系统下mysql的配置文件和常用选项图文详解

可以看到,这里直接指定了要操作的数据库,登录后就可以直接执行show tables。为什么没有输入-uroot -p?原因是配置文件已经预设好了,后面会详细讲解。

mysql --execute="查询语句" --database=数据库名 ......

linux操作系统下mysql的配置文件和常用选项图文详解

这是通过--execute直接执行查询语句,当然也需要指定数据库。

一些注意事项:

选项命名规则中有几个关键点:

  • 单破折号与双破折号的大小写区分需要留意
  • 双破折号后要加=号,单破折号则用空格隔开
  • 指定密码时,短格式的-p和密码之间不能有空格:mysql -p12345表示指定密码,而mysql -p 12345则表示指定数据库名为12345
  • 大多数情况下,选项名称中的破折号( - )和下划线( _ )可以互换使用,比如--skip-grant-tables--skip_grant_tables是等价的
  • 数值选项可以带后缀K、M或G,分别表示1024、1024²或1024³的倍数

举例来说,以下命令告诉mysqladmin对服务器执行1024次ping,每次间隔3秒:

mysqladmin --count=1K --sleep=3 ping -uroot -p

3. 选项配置文件

3.1 选项配置文件介绍

大多数MySQL程序都可以从选项文件(即配置文件)中读取启动选项。这样一来,常用的配置只需要写一次,而不必每次启动都在命令行中重复输入。

使用方法上,可以通过--defaults-file指定要使用的配置文件。客户端程序会读取并应用该文件中的相关配置,当然,配置妥当后系统会自动加载。

配置文件的默认路径如下:

linux操作系统下mysql的配置文件和常用选项图文详解

也就是说,路径在/etc/mysql目录下。

这里有一个细节:mysql.cnf是默认的配置文件,但我们通常不直接操作它,而是修改my.cnf。MySQL服务启动时会自动加载my.cnf,而它实际上是一个软链接,指向最终的配置文件。

linux操作系统下mysql的配置文件和常用选项图文详解

此外,还有专门用于服务端的mysqld.cnf

linux操作系统下mysql的配置文件和常用选项图文详解

以及用于客户端的mysql.cnf

linux操作系统下mysql的配置文件和常用选项图文详解

虽然做了这些区分,但一般修改都是在默认配置文件my.cnf中进行,其他两个端作为补充。

这么多配置文件,读取顺序是怎样的?

linux操作系统下mysql的配置文件和常用选项图文详解

文件读取顺序是从上到下,但影响效果正好相反——越靠后的文件,优先级越高。~表示当前用户的主目录,MYSQL_HOME是环境变量路径,DATADIR代表MySQL数据目录。

3.2 选项配置文件使用

使用选项配置文件之前,需要了解它的语法规则:

  • 选项文件中指定选项时,省略两个前导破折号,每行表示一个选项。例如,--quick--host=127.0.0.1应写成quickhost=127.0.0.1
  • 注释行以#;开头,也可以从一行的中间开始
  • [group]用于设置程序或组的名称,不区分大小写。如果组名与程序名相同,则该组中的选项专门应用于该程序,例如[mysqld][mysql]分别适用于服务端和客户端
  • opt_name = value的格式与命令行选项名对应

下面直接看操作:

vim my.cnf

linux操作系统下mysql的配置文件和常用选项图文详解

这里操作的是[client]组,定义了用户和密码两个选项。配置好后保存退出,客户端就能自动使用这些设置。[client]组适用于所有MySQL发行版中的客户端程序(除mysqld外),可以在此指定通用的用户和密码——当然要确保只有自己可以访问这个文件,以防密码泄漏。

关于!includedir的作用:

动态加载目录下的配置文件。
MySQL在启动时自动读取!includedir指定的目录,加载该目录下所有以.cnf结尾的文件,并将它们的配置合并到主配置文件my.cnf中。

4. 总结

本文梳理了Linux下MySQL的配置选项,包括程序的基本组成、mysqldmysql客户端的功能及常用选项,以及选项配置文件的使用方法。通过命令行和配置文件两种方式,可以灵活配置MySQL的连接、查询和参数管理。文中还详细解释了配置文件的读取顺序、语法规则,以及如何通过!includedir动态加载目录下的配置文件。掌握这些内容,基本上就能应对日常的MySQL配置需求了。

来源:https://www.jb51.net/database/367189b3r.htm
上一篇MySQL EXPLAIN从执行计划到索引优化完全指南 下一篇PostgreSQL多版本并发控制核心原理与实现机制
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
自增主键值从何而来?深入理解原理,告别只会auto_increment
数据库 · 2026-07-25

自增主键值从何而来?深入理解原理,告别只会auto_increment

KingbaseES推荐使用serial、bigserial、显式sequence或identity列实现自增主键。serial创建integer并关联序列,bigserial对应bigint;显式sequence可自定义起始值等参数;identity有generatedbydefault(允许指定值)与always(禁止)两种模式。

Linux下瀚高数据库授权文件过期及替换解决方案
数据库 · 2026-07-25

Linux下瀚高数据库授权文件过期及替换解决方案

在银河麒麟系统下,瀚高数据库hgdb-4 5试用授权20天到期后需替换正式授权文件。正确操作:停止服务,备份旧文件,将授权文件复制到 opt highgo hgdb-4 5 etc lic 并命名为hgdb lic,设置权限600和属主highgo:highgo,再启动服务。禁止直接修改data目录下的license info文件。

Oracle BLOB实时同步的5大技术挑战与难点解析
数据库 · 2026-07-25

Oracle BLOB实时同步的5大技术挑战与难点解析

OracleBLOB实时同步面临分片组装、多列隔离、长事务跨窗口、事务回滚及大对象资源控制等技术挑战,必须在日志中精确还原完整字段值,才能保证源端与目标端数据完全一致,这对同步系统的稳健性提出了高要求。

MySQL禁用redo日志导致全备失败
数据库 · 2026-07-25

MySQL禁用redo日志导致全备失败

MySQL全量备份失败是由于数据定义语言操作触发排序索引构建,禁用重做日志导致XtraBackup无法获取一致性备份。测试验证表明,优化表语句即使无数据也会触发该问题。根本原因在于排序索引构建过程跳过了重做日志记录,破坏了备份的一致性。

Kafka架构图优化与改进的全面详细步骤与实践指南
数据库 · 2026-07-25

Kafka架构图优化与改进的全面详细步骤与实践指南

Kafka作为实时数据流处理的核心中间件,其底层架构虽已相当成熟,但在实际生产环境中,要充分发挥其性能潜力,仍需落实到具体的调优与架构改造上。核心目标可归纳为三点:如何承载更高的吞吐量、如何保障数据不丢失、以及故障发生时如何快速恢复。本文将从这几个关键方向出发,深入探讨如何真正榨干Kafka集群的性