本文将介绍关于mysql报错“Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)”的问题。
只有第四种方法成功了,现在已经能够使用。如果不想看1-3的可以直接选择4,选择另一个版本的mysql按照安装步骤进行安装。笔者出现问题的mysql版本是mysql-5.7.26-macos10.14-x86_64。
关于这个错误,笔者尝试过这四种方法:
(1)添加tmp/mysql.sock的软连接
ln -s /tmp /tmp
在/usr/local 中操作,将软连接放入此处(这里需要权限)。
笔者糊涂的将本来在/目录下的tmp制作了软连接放入了/usr/local中,现在想想也是傻。
(2)为mysql文件修改权限
chmod 777 /usr/local/mysql
需要进入su用户才能修改,进入之后执行命令,返回上一层(local),使用 ls -l local 发现权限修改成功了,但也是不能执行。
mysql本身的权限是755
(3)重新安装mysql
重新安装mysql之后(mysql-5.7.26-macos10.14-x86_64)之后还是会有那个问题,而且出现了另一个问题。"Access denied for user 'root'@'localhost'(using password:YES",当我设置了
#vim /etc/my.cnf文件中的[mysqld]文本段,在这文本段的任意位置插入“skip-grant-tables”来跳过密码验证。
但之后就给我我出现了"Access denied for user 'root'@'localhost'(using password:NO"。奔溃了。。。
然后又重复执行了(1)(2)步,无果。
(4)重新安装另一个版本的mysql
先彻底删除之前的mysql
1.打开终端窗口
2.使用mysqldump备份你的数据库将文本文件!
3.停止数据库服务器
4.依次执行以下命令,遇到要输密码的输入密码(用户密码)sudo rm /usr/local/mysql sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /private/var/db/receipts/*mysql*
后来安装的版本是mysql-5.7.27-macos10.14-x86_64
安装之后会弹出一个包含有密码的对话框。mac用户不用记住。直接在通知里找就行

这个只是针对mac系统。我还是比较好奇,为啥我之前的可以用,长时间不用之后就不能用了。
网友评论