一、MySQL读取配置文件的顺序

读取顺序:/etc/my.cnf > /etc/mysql/my.cnf > /usr/etc/my.cnf > ~/.my.cnf

命令验证:
[root@mysql ~]# mysql --verbose --help | grep my.cnf 
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf

二、MySQL启动方式

MySQL的启动方式通常分成三种:mysqld、mysqld_safe、mysqld_multi(主要用于多实例启动)

三种方式的关系:
首先当我们使用service mysqld start或者/etc/init.d/mysqld start这样的方式启动的时候,其实是使用了mysql.server这个脚本,这个脚本默认会调用mysqld_safe来启动mysqld,所以通常我们启动mysql之后查看进程的时候会发现有mysqld和mysqld_safe这两个进程存在。这两种通常都是单实例的启动方式,当然也可以使用mysqld来启动多实例的。而mysqld_multi用来启动多实例,也是通过先调用mysqld_safe和mysqld来启动mysql的。

三、MySQL启动原理

默认的mysql的服务启动程序是mysql.server,mysql.server程序主要是会用到两个程序和一个函数,分别是my_print_defaults、myslqd_safe和parse_server_arguments

1、my_print_defaults:读取my.cnf配置文件,输出参数传递给parse_server_arguments,该程序只读my.cnf中[mysqld]中的参数。

2、parse_server_arguments:该函数处理my_print_defaults传递过来的参数赋值给--basedir、--datadir、--pid-file、--server-startup-timeout

3、myslqd_safe:mysqld_safe程序调用mysqld程序来启动mysql服务,[mysqld_safe]会覆盖mysqld部分中的参数

4、mysqld_multi会读取配置文件中的[mysqld_muti],[mysqldN]下面的参数,N需要时一个整数,建议用端口号表示,该部分的配置会覆盖[mysqld]部分中的配置

5、在mysqld进程挂掉的时候,mysqld_safe进程会监测到并重新将mysqld启动起来。

On Unix, Linux and Mac OS X, MySQL programs read startup options from the following files, in the specified order (top items are used first).

File Name Purpose
/etc/my.cnf Global options
/etc/mysql/my.cnf Global options
SYSCONFDIR/my.cnf Global options
$MYSQL_HOME/my.cnf Server-specific options
defaults-extra-file The file specified with --defaults-extra-file=path, if any
~/.my.cnf User-specific options

读取顺序为:

/etc/my.cnf

basedir/my.cnf

datadir/my.cnf

--defaults-extra-file    #在读取全局配置文件之后,读取用户配置文件(~/.my.cnf)之前,读取extra指定的参数文件

~/.my.cnf      #家目录下面的隐藏文件,my.cnf前面的点,说明my.cnf是隐藏文件

假设4个配置文件都存在,同时使用--defaults-extra-file指定了参数文件,如果这时有一个 "参数变量"在5个配置文件中都出现了,那么后面的配置文件中的参数变量值 会 覆盖 前面配置文件中的参数变量值,就是说会使用~/.my.cnf中设置的值。

*****注意*****

如果使用./bin/mysqld_safe 守护进程启动mysql数据库时,使用了 --defaults-file=<配置文件的绝对路径>参数,这时只会使用这个参数指定的配置文件。

原文地址:

https://www.cnblogs.com/andy6/p/6602943.html;

https://www.cnblogs.com/moss_tan_jun/p/5656659.html

Mysql配置文件读取顺序相关推荐

  1. MySQL客户端对配置文件读取顺序的问题场景

    我们都知道使用MySQL客户端来访问MySQL数据库时,会以一定的顺序读取不同位置的配置文件,但在一次做测试时,发现除了按照顺序读取默认的配置文件路径外,MySQL还有额外的读取配置文件的行为.如下是 ...

  2. MySQL读取配置文件的顺序、启动方式、启动原理

    一.MySQL读取配置文件的顺序 读取顺序:/etc/my.cnf > /etc/mysql/my.cnf > /usr/etc/my.cnf > ~/.my.cnf 命令验证: [ ...

  3. 文件加载顺序_Springboot配置文件存放位置及读取顺序

    Springboot配置文件可以使用yml格式和properties格式,分别命名为application.yml和application.properties 存放目录 Springboot配置文件 ...

  4. java读取mysql配置文件_Linux运维:MySQL读写分离解决方案

    一次性付费进群,长期免费索取教程,没有付费教程. 进微信群回复公众号:微信群:QQ群:460500587  教程列表 见微信公众号底部菜单 |  本文底部有推荐书籍  微信公众号:计算机与网络安全 I ...

  5. mysql配置文件构成以及具体的配置demo

    一.前言 在了解完mysql的各项配置参数,并且设计出适合自己(2核8G机器)的配置后,博主开始了正式的配置,不过在正式的配置过程中还是遇到了不少问题,这里记录一下配置文件的构成以及具体的配置demo ...

  6. php读取mysql数据无法修改时间_php设置mysql查询读取数据的超时时间

    php可以设置mysql查询的超时时间估计大家不知道吧,一般都直接在mysql中进行设置了,下面我们来为各位介绍一下php设置mysql查询读取数据的超时时间吧. 现象:php能通过代理正常连接到my ...

  7. linux my.cnf基本参数,Linux中MySQL配置文件my.cnf参数说明

    MySQL参数优化这东西不好好研究还是比较难懂的,其实不光是MySQL,大部分程序的参数优化,是很复杂的.MySQL的参数优化也不例外,对于不同的需求,还有硬件的配置,优化不可能又最优选择,只能慢慢的 ...

  8. 如何让mysql配置文件生效_mysql配置文件生效测试

    问题:如何查看和配置mysql的配置文件,mysql中的配置文件对于调试mysql和排查错误比较有用,例如缓存设置等! 1.如何查找mysql配置文件 在mac或者linux上安装mysql或者mar ...

  9. mysql配置文件my.cnf详解

    mysql配置文件my.cnf详解 basedir = path 使用给定目录作为根目录(安装目录). character-sets-dir = path 给出存放着字符集的目录. datadir = ...

最新文章

  1. 关于学习Python的一点学习总结(33->继承中内置方法及多继承)
  2. rabbitmq之partitions
  3. Caffe的Solver参数设置
  4. Python之多进程
  5. 为你的程序添加监听器
  6. 五十七、教用Python中的turtle海龟画图(下篇)
  7. 全国计算机等级考试题库二级C操作题100套(第97套)
  8. matplotlib 画多条折线图且x轴下标非数值
  9. 上海药物所揭示KRAS突变肿瘤的分子分型和精准治疗新策略
  10. 六界仙尊h5服务器维护多久,《六界仙尊》5月6日更新维护 公开虚天BOSS坐标
  11. java多线程详解 六_java多线程学习-java.util.concurrent详解(六) Exchanger
  12. [C++]VC自定义发IP包例子
  13. qlistview 自定义控件_qlistview使用自定义模型的复选框
  14. 利用武汉理工大学学校图书馆资源查论文 以使用中国知网查阅论文
  15. 关于“户口,干部身份,职称”等系列问题
  16. Python基础_Day13
  17. ios 启动图一键生成工具_[iOS]利用Appicon and Launchimage Maker生成并配置iOSApp的图标和启动页...
  18. 如何从零开始解读什么叫产品经理
  19. 详细Http状态查询返回 HTTP 状态代码以响应请求
  20. 2345王牌浏览器怎么恢复网站

热门文章

  1. c# 判断是否为数组_c# – 如何检查反射类型是否为数组
  2. Silverlight+WCF 新手实例 象棋 游戏房间列表(十三)
  3. 关于sha1加密的一个问题。。。。
  4. CV领域,Transformer在未来有可能替代CNN吗?
  5. CV Code|计算机视觉开源周报20200601期
  6. 风靡全球的GANs:一文看尽这“混世魔王”的“三生三世”
  7. 高效新思路!实例分割算法!腾讯、华科出品!入选ICCV 2021!
  8. CVPR 2021 | 商汤提出最强时序动作提名修正网络:TCANet
  9. 太赞了!借助可视化,最直观理解梯度,以及偏导数、方向导数和法向量等
  10. php com(),php|luosimao.com文档中心