在 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 for
brew services. Please run
brew 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