@centos7下mysql8.0连接报mysql.sock(2)错误的解决方法

    技术2023-06-16  66

    以前用mysql的时候都是用的docker,简单暴力,这次想抛开docker看看mysql8.0.19的安装,此篇只是用于记录错误及解决过程,欢迎交流。 当我在centos7下/usr/local/mysql目录下安装完mysql8.0.19 链接: link 添加权限组,用户等,配置好环境变量后尝试连接时报以下错误 1、这个时候开始查是否在/etc/my.cnf 下配置的socket路径下是否存在mysql.sock文件

    cat /etc/my.cnf

    马上再去这个文件夹下查找是否有mysql.sock文件,发现这个mysql.sock文件是存在的

    ll /usr/local/mysql/tmp

    这里要注意了,有些小伙伴忘了给tmp文件夹权限,导致这里没有mysql.sock文件,需要给其加上权限

    chmod 777 /usr/local/mysql/tmp

    这个文件夹有了此权限后在mysql启动时会自动生成mysql.sock文件 2、这个时候有点纳闷了,sock文件有了为什么还是连接不上呢,可能是my.cnf的权限不够导致,尝试一下

    chmod 777 /etc/my.cnf

    更改my.cnf权限后重启mysql就好了,但是有个很大的隐患就是所有用户都能更改my.cnf了,隐患很大,所以这不是正常的解决办法,重新给其755的权限

    chmod 755 /etc/my.cnf

    这个时候发现又连接不上了只好想别的办法了 3、应该还是my.cnf配置有问题,需要加上客户端的配置[mysql],于是试验一下 于是加上了这行的socket的参数设置,再次重启登录试试看 发现是可用的 4、后面看到一篇文章说是只需要添加软连接就可以了,把第三种方法里的my.cnf还原,再次测试一下

    ln -s /usr/local/mysql/tmp/mysql.sock /tmp/mysql.sock

    现在发现这个也有用 end…

    总结: sock连接不上可以先查看是否有sock文件,没有的话注意更改定义的mysql.sock所在目录的权限,mysql的权限等,有的话,检查my.cng权限,my.cnf的配置[mysqld] 、[mysql]等socket的路径设置。另外安装的步骤可以参考

    Processed: 0.027, SQL: 9