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

2026-07-11编程代码105890

这篇文章主要介绍了linux操作系统下mysql的配置文件和常用选项图文的相关资料,文中通过代码详解讲解了Linux下MySQL程序、mysqld服务端与mysql客户端核心用法,并详解选项配置文件的语法与读取顺序,需要的朋友可以参考下

目录
  • 1.MySQL程序
    • 1.1MySQL程序简介
  • 2.mysqld与mysql
    • 2.1mysqld介绍
    • 2.2mysql
      • 2.2.1mysql客户端介绍
      • 2.2.2mysql常用选项
  • 3.选项配置文件
    • 3.1选项配置文件介绍
      • 3.2选项配置文件使用
      • 4.总结

        1.MySQL程序

        1.1MySQL程序简介

        MySQL安装完成通常会包含如下程序
        • Linux系统程序⼀般在 /usr/bin⽬录下,可以通过命令查看:

        ll   /usr/bin/mysql*

        对于mysql程序,分为服务端客户端程序

        2.mysqld与mysql

        2.1mysqld介绍

        • mysqld也被称为MySQL服务器,是⼀个多线程程序,对数据⽬录进⾏访问管理(包含数据库和
        表)。数据⽬录也是其他信息(如⽇志⽂件和状态⽂件)的默认存储位置。

        • 当 MySQL 服务器启动时,会侦听指定的端⼝、处理来⾃客⼾端程序的⽹络连接,并管理不同客⼾端对数据库的访问

        2.2mysql

        2.2.1mysql客户端介绍

        mysql是⼀个简单的 SQL shell, 可以输⼊命令和执⾏SQL语句,当执⾏SQL语句时,查询结果以 ASCII 表格式显示

        如下所示:

        # 连接 MySQL 服务器,⻓选项格式
        mysql --user=user_name --password [db_name]
        # 短选项格式
        mysql -uuser_name -p [db_name]

        2.2.2mysql常用选项

        如下图所示:

         这里可以根据上述的讲解进行理解,这里小编主要演示几个:

        mysql --version

        mysql --database=test 

        可以看到,这里小编直接定义我们要操作数据为database,那么登录后直接就可以show tables了;但是为啥这里小编没有输入-uroot -p 的操作呢?其实这是配置文件的作用,小编后面进行讲解~~~

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

         这里就是执行我们的查询语句,但是要指定我们要操作的数据库~~~

        注意:

        选项命令中指定的规则:

        ——单破折号与双破折号大小写区分

        ——双破则号要添加“=”号,单破折号就是空格隔开

        ——但是在指定密码的时候,-p与密码不不可以分开(对于密码选项的短格式,如果要指定密码,选项与值之间不能有空格)

        mysql -p12345  #表示指定登录密码
        mysql -p   12345 #表示指定登录的数据库名

        ——在选项名称中,破折号 ( - ) 和下划线 ( _ ) 在⼤多数情况下可以互换使⽤,但前导破折号不能转为下划线,例如: --skip-grant-tables 和 --skip_grant_tables 是等价的。

        ——对于采⽤数值的选项,该值可以带有后缀 K , M 或 G 以指⽰乘数 1024、1024^2或 1024^3

        以下命令告诉 mysqladmin对服务器执⾏ 1024 次 ping,每次 ping 之间休眠 3 秒

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

        3.选项配置文件

        3.1选项配置文件介绍

        ⼤多数 MySQL 程序都可以从选项⽂件(配置⽂件)中读取启动选项。可以在选项⽂件中指定常⽤选项,这样就不⽤在每次运⾏程序时都在命令⾏中输⼊它们

        使用方法:

        --defaults-file指定要使用的选项文件客⼾端程序会读取并应⽤选项⽂件中的相关配置,但是一般配置好后,可以自动执行~~

        但是这里的配置文件的地址如下:

        即在:

        /etc/mysql

        那么我们可以看到mysql.cnf其实就是我们默认的配置文件,一般来说我们就是修改的默认配置文件,但是我们不直接操作mysql.cnf而是my.cnf,MySQL 服务启动时会自动加载 my.cnf 文件中的配置,而my.cnf指向的地址又是最终的配置文件

         my.cnf就是一种快捷方式(软连接)执行我们的的最终配置文件;

        除此之外:还有服务端的mysqld的配置文件

        当然还有我们的客户端配置文件

        虽然做了区分,但是一般都是在默认配置文件中进行修改

        其他两个端的配置文件一般作为补充

        这么多的配置,到底如何执行的:

        那么读取顺序是从上到下,但是对应产生的影响来说,从上到下依次增大~~

        • ~表⽰当前⽤⼾的主⽬录

        • MYSQL_HOME 是设置的环境变量路径

        • DATADIR 代表MySQL数据⽬录

        3.2选项配置文件使用

        首先我们要使用选项配置文件,那么就要知道这个选项配置文件的语法使用~~

        选项⽂件中指定选项时,省略两个前导破折号,并且每⼀⾏表⽰⼀个选项
        例如: --quick 和 --host=127.0.0.1 在选项⽂件中应表⽰成 quick 和host=127.0.0.1

         #comment , ;comment注释⾏以 # 或 ; 开,注释可以从⼀⾏的中间开始

        [ group ]设置选项的程序或组的名称,不区分⼤⼩写。如果选项组名称与程序名称相同,则组中的选项专⻔应⽤于该程序,例如, [mysqld] 和 [mysql] 组分别适⽤于mysqld服务端程序和mysql客⼾端程序

        opt_name相当于命令⾏上的选项名opt_name = value

        那么小编这里就直接展示吧

        操作我们的:

        vim my.cnf 

        这里就是我们操作客户端[client],然后规定两个选项,然后输入正确的密码以及用户,那么配置好后,我们保存退出即可~~~

        [client] MySQL发⾏版中所有客⼾端程序都会读取并应⽤这个组下的选项(除了mysqld),
        在这个组下可以指定适⽤于所有客⼾端程序的通⽤选项,例如配置⽤⼾名和密码(但要确保只有
        ⾃⼰才可以访问这个⽂件以防⽌密码泄漏)

        !includedir的作用

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

        4.总结

        本文详细介绍了Linux下MySQL的配置选项,涵盖了MySQL程序的基本组成、mysqld与mysql客户端的功能及常用选项、以及选项配置文件的使用方法。文中解释了如何通过命令行和配置文件进行MySQL的配置,包括如何指定数据库、执行查询语句、以及配置文件的读取顺序和语法规则。此外,还介绍了如何通过配置文件自动应用常用选项,以及如何使用!includedir动态加载目录下的配置文件。本文适合对Linux下MySQL配置感兴趣或需要深入理解MySQL配置选项的读者

        到此这篇关于linux操作系统下mysql的配置文件和常用选项的文章就介绍到这了,更多相关mysql配置文件和常用选项内容请搜索北冥有鱼【www.ufcn.cn】以前的文章或继续浏览下面的相关文章希望大家以后多多支持北冥有鱼【www.ufcn.cn】!

        您可能感兴趣的文章:

        • 查看linux服务器上mysql配置文件路径的方法
        • MySQL优化配置文件my.ini(discuz论坛)
        • MySQL配置文件my.cnf优化详解(mysql5.5)
        • 关于Linux安装mysql默认配置文件位置详解
        • MySQL配置文件my.ini全过程
        本文地址:https://www.ufcn.cn/article/2432630.html

        如非特殊说明,本站内容均来自于网友自主分享,概不代表本站观点,如有任何问题我们都将在收到反馈后的第一时间进行处理!