MySQL客户端对配置文件的读取顺序

0    105    1

Tags:

👉 本文共约2187个字,系统预计阅读时间或需9分钟。

使用 mysql 客户端去访问 MySQL 数据库时,会以一定的顺序去读取不同位置的配置文件。

一、场景现象

在本地做测试时,发现一个奇怪的现象,当我使用 socket 打算登录数据库,发现不指定用户时,默认并不是用的 root 用户登录,而是被修改为了 zhenxing 用户

通过观测当前 mysql 客户端的默认参数行为,可以看到与报错一致,默认用户确实是变为了 zhenxing

在这里作为 DBA ,我们的第一反应是肯定是查看 /etc/my.cnf 文件中是否对默认用户做了配置,于是查看该配置文件的客户端配置参数,如下

发现配置文件中的反而配置值是 root 用户,并没有对 zhenxing 用户做配置,看来读取的还不是这个配置文件,那是不是读取了其他配置文件呢,继续排查其他的配置文件

二、排查思路

1、获取配置文件读取顺序

我们先打印出所有可能读取的配置文件及其读取的顺序做逐个排查

2、排查 /etc/my.cnf

/etc/my.cnf 在前面已经确认没有做相关配置,这里直接跳过

3、排查 /etc/mysql/my.cnf

查看 /etc/mysql/my.cnf 配置,发现不存在相关配置,排除

4、排查 /usr/local/mysql/etc/my.cnf

查看 /usr/local/mysql/etc/my.cnf 配置,发现不存在相关配置,排除

5、排查 /data/mysql/3306/base/my.cnf

查看 /data/mysql/3306/base/my.cnf 配置,发现不存在相关配置,排除

6、排查 ~/.my.cnf

查看 ~/.my.cnf 依旧不存在相关配置,排除

至此按照 mysql --verbose --help|grep my.cnf 获取的配置文件读取路径都被排除,都未对用户zhenxing做配置

7、使用no-defaults排除配置文件干扰

  • 尝试用 --no-defaults 不读取任何配置文件排除配置文件的干扰,看是否会恢复正常

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!
MySQL客户端对配置文件的读取顺序后续精彩内容已被小麦苗无情隐藏,请输入验证码解锁本站所有文章
验证码:
请关注本站微信公众号,回复“小麦苗博客”,获取验证码。在微信里搜索“DB宝”或者“www_xmmup_com”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部