在 ubuntu20.04 安装的时候出现这个。
ubuntu20.04
查看 mysql 的配置,查看套接字。
一般在 /etc/mysql/my.cnf 中。默认套接字是 /var/run/mysqld/mysqld.sock
进入 /var/run 发现 mysqld 确实没有权限,所以,给了一个权限
1 | sudo chmod 777 mysqld |
然后进入 mysqld 新创建了 mysqld.sock,并且赋予权限。
重启 mysql
1 | sudo service mysql restart |
macbook
有一天,我使用
1 | mysql -u root -p |
出现
1 | ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) |
我运行 ps aux | grep mysql 发现并没有 mysql 这个进程,于是,查了资料说要用
1 | brew services start mysql |
结果出现 Error: Your Homebrew is too outdated forbrew services. Please runbrew update!,没辙,又升级 brew
1 | brew update |
然后使用 brew 开启 mysql 还是失败,然后用
1 | brew list | grep mysql |
发现没有 mysql,也就是说,我的 mysql 不是 brew 安装的。
使用 which mysql 查询到我的 mysql 位于 /usr/local/mysql/bin/mysql
然后进入 bin 文件夹,ls 后出现
1 | ibd2sdi myisamlog mysql_ssl_rsa_setup mysqld mysqlimport mysqlslap |
在使用命令行之前,我进入 /tmp/ 新创建了一个 mysql.sock 文件,并赋予 777 权限。
查阅资料,应该使用
1 | sudo mysql.server stop |
但是,我并没有 mysql.server,然后又查到可以食用
1 | sudo mysqladmin start |
发现好了。
最近发现上面的方法不好用了。可以尝试用下面的方法
进入 /usr/local/mysql/support-files 执行 sudo ./mysql.server start
后面在使用的过程中又出现了
1 | mysqladmin: connect to server at 'localhost' failed |
使用下面的命令修复
1 | sudo rm -f /tmp/mysql.sock |