ERROR 2002 (HY000): 无法通过 Mac Big Sur 上的 socket '/tmp/mysql.sock' (2) 连接到本地 MySQL 服务器

时间:2020-12-21 22:56:58

标签: macos mariadb macos-big-sur

我刚刚升级到 MacOS Big Sur,我发现我无法使用 mysql -u root(没有密码)登录到 mysql 控制台。

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

我用 brew (brew install mariadb) 安装了 MariaDB

我检查了mysql守护进程,发现以下错误

Xuans-MacBook-Pro:~ xuan$ mysqld
2020-12-21 15:46:27 0 [Note] mysqld (mysqld 10.5.8-MariaDB) starting as process 2091 ...
2020-12-21 15:46:27 0 [Warning] Can't create test file /usr/local/var/mysql/Xuans-MacBook-Pro-2.lower-test
2020-12-21 15:46:27 0 [ERROR] mysqld: File '/usr/local/var/mysql/aria_log_control' not found (Errcode: 13 "Permission denied")
2020-12-21 15:46:27 0 [ERROR] mysqld: Got error 'Can't open file' when trying to use aria control file '/usr/local/var/mysql/aria_log_control'
2020-12-21 15:46:27 0 [ERROR] Plugin 'Aria' init function returned error.
2020-12-21 15:46:27 0 [ERROR] Plugin 'Aria' registration as a STORAGE ENGINE failed.
2020-12-21 15:46:27 0 [ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
2020-12-21 15:46:27 0 [ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
2020-12-21 15:46:27 0 [ERROR] Plugin 'InnoDB' init function returned error.
2020-12-21 15:46:27 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2020-12-21 15:46:27 0 [Note] Plugin 'FEEDBACK' is disabled.
2020-12-21 15:46:27 0 [ERROR] Could not open mysql.plugin table: "Table 'mysql.plugin' doesn't exist". Some plugins may be not loaded
2020-12-21 15:46:27 0 [ERROR] Failed to initialize plugins.
2020-12-21 15:46:27 0 [ERROR] Aborting

这是/usr/local/var/mysql/的许可

drwxr-xr-x  68 xuan  admin  2176 21 Dec 15:48 mysql

套接字文件位置

Xuans-MacBook-Pro:xuan$ mysqld --help --verbose | grep sock
socket                                                       /tmp/mysql.sock
unix-socket                                                  ON

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

我在运行 big sur 11.1 的 i9 的 2018 年 macbook pro 上遇到了同样的问题 我可以使用 mysql workbench 和 datagrip 链接到 mysql 数据库没问题,但是当我尝试从终端访问 mysql 时,我得到“无法通过套接字连接到本地 MYSQL 服务器”。 我回到 /usr/local/mysql/bin 并运行 ./mysql -u root -p 并连接。 这是一个很大的sur安全问题吗? MAMP 正在运行。 MYSQL 编辑器运行正常。似乎 big sur 不允许套接字通过 MAMP 连接。

答案 1 :(得分:-1)

通过套接字以 root 用户身份登录要求套接字的所有者是 root,而不是任何其他用户,因为身份验证将通过 unix 套接字身份验证执行。

所以一个简单的 sudo mysql -uroot 应该可以工作。