以前用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的路径设置。另外安装的步骤可以参考