检查 MySQL 守护程序是否正在运行

检查 MySQL 守护程序是否正在运行

我已经阅读了有关此错误的所有内容,但我无法解决问题。

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

我正在尝试在我的 Mac OsX 上安装 mysql,但是当我尝试连接到 db( mysql -u root -p) 时,我发现了这个问题ERROR 2002

我已经安装了 Mysql/usr/local/mysql

答案1

检查 MySQL 守护程序是否正在运行

您可以mysqld从**终端应用程序*检查守护进程是否正在运行:

ps -feax | grep mysqld 

并验证您是否获得与此类似的结果:

    0  8308     1   0   0:00.08 ??         0:00.11 /bin/sh /usr/local/mysql/bin/mysqld_safe

mysqld或寻找活动监视器应用程序

如果它是没有运行 您必须启动守护进程。

启动 MySQL 守护进程

在 Mac OSX 上,你可以从终端应用程序启动守护进程,如下所示:

sudo /usr/local/mysql/bin/mysqld_safe &

再次检查 MySQL 守护进程是否按之前描述的方式运行。

答案2

你说运行时出现错误mysql -u root -p

这将查找要连接的套接字文件。当 mysqld 启动时,有可能套接字文件未创建,但 mysqld 仍会启动(请参阅我的帖子Percona-server 在 /etc/init.d/mysql 启动时超时

尝试使用以下方法之一,看看是否可以在没有套接字文件的情况下进行连接

  • mysql -u root -p -h127.0.0.1
  • mysql -u root -p -h127.0.0.1 --protocol=tcp

如果你可以连接其中一个,请像这样关闭mysql

mysqladmin -u root -p -h127.0.0.1 --protocol=tcp shutdown

mysqld 应该可以正常关闭。之后,照常启动 mysql

试一试 !!!

答案3

我知道这是一篇老帖子,但我花了大约一个小时的时间在 serverfault、StackOverflow 和 DataBase 管理员之间来回奔波,试图找出如何在使用 homebrew 在 Mac(El Capitan)上安装后解决这个问题。

至少就我而言,这个帖子工作:

# Run the following commands
mysqld stop
mysql.server start

据我所知,我认为(至少在我的情况下)brew mysql 尚未初始化永久套接字,并且我的网络管理员锁定了通过 /tmp/ 连接新进程的能力...

答案4

主要原因是 mariadb/mysql 没有运行。

brew services start mariadb

或者

brew services start mysql

我使用下面的命令解决了 MariaDB 中的相同问题。重新启动 MariaDB/MySQL

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist

我已经通过 homebrew 安装了 MariaDB。在运行命令之前我也重新启动了计算机。

在此处输入图片描述

相关内容