MySQL拼写出错之Can‘t connect to local MySQL server through socket ‘/data/mysql3308/run/mysql.sock

实在是意难平,一个拼写的小错误,结合另一个命名不规范,把一个问题让我看了2个多小时,还拉着我导师一起看了近一个小时。

一定要记下来!!!!
参数、配置文件的拼写一定要正确

在这里插入图片描述

起因:

准备在一台主机上装3个mysql实现proxysql的负载均衡
之前已经安装了2个mysql,分别是mysql3306和mysql3307,也一直能双开使用,于是准备用之前的方法装mysql3308

拷贝了mysql 5.7.28的tar包,解压,改写配置文件,初始化,改写init.d的快速启动,修改start.sh启动文件,然后报了如题的错误

找问题:

按照网上的办法,先看了MySQL的配置文件,到最后start.sh的,没问题,再跑一遍,还是报错

结合自己安装笔记,检查了权限问题,配置文件命名问题,mysqld的使用问题,多开mysql的干扰问题都不是,最烦的是日志文件在初始化的时候没有生成,data文件下也缺少很多文件,sock文件也没生成,但是找到是在mysql初始化时候出问题了。

在这里插入图片描述在这里插入图片描述

分析问题

因为看不了错误日志,只能测试看是否是配置文件的问题,修改了配置文件,换了basedir文件,修改了用户权限,还是不行,重点是也不报错,也没MySQL错误日志

最后想起来可以在系统日志里头看,发现一直说mysql用户没有权限写日志文件
但是mysql用户的权限是给足的,新建了用户去跑,还是不行。仔细看报错发现是,没权限写mysql3306的log文件,所以错误是??

结果

还是没想通,导师说肯定是哪调用了3306的配置文件所以导致报错没权限,往上翻果然有说未知的“my3308.cnf" 配置文件,就这样还是没一下子找出来问题。新建了3308文件,修改参数还是不行,仔细看是 “defaults-file=/etc/my3308.cnf" 的file上多了个s
在这里插入图片描述
然后它找不到my3308.cnf就去找默认配置的my.cnf,刚好我这个my.cnf是mysql3306的配置文件,所以初始化失败,报错也是报在mysql3306的错误日志里面。

初始化参数的拼写错误+配置文件命名不规范导致整个问题耗时这么久

/data/mysql3308/bin/mysqld --defaults-file=/etc/my3308.cnf --initialize-insecure --basedir=/data/mysql3308 --datadir=/data/mysql3308/data --user=mysql

重新初始化即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值