“无法通过”套接字错误连接到本地 MySQL 服务器

“无法通过”套接字错误连接到本地 MySQL 服务器

我安装了 mysql 并尝试启动

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

任何想法?

答案1

mysql 可以从 upstart 启动。基本上,你安装 mysql-server 包。你可以轻松地在 synaptic 中搜索 mysql-server 包并安装它。安装过程中会提示你输入 root 密码[即 mysql 用户 root 密码]。之后,在终端中只需执行

sudo start mysql

或者

sudo service mysql start

Mysql 通常在启动时启动,因此您也可以运行它。

只是ps aux | grep mysql为了看看它是否正在运行。

答案2

Ubuntu 11.10: sudo dpkg-reconfigure mysql-server-5.1

Ubuntu 12.04: sudo dpkg-reconfigure mysql-server-5.5

按照说明然后重新启动。

当您从一个 ubuntu 版本升级到另一个版本时,配置可能会出现问题。通常与 mysql 守护进程 mysqld 的启动过程有关)

答案3

我看到您正在使用 /tmp/ 作为 mysql.socket,因此您没有安装 ubuntu 默认自带的 mysql 5.1,或者您正在安装 mysql 5.5.x(如果是这种情况,您需要在问题中提及)。无论如何,您可以做的一些事情是:

  1. 确认 mysql 尚未运行:ps -e|grep -i 'mysqld'如果它出现则终止它。sudo killall -9 mysqld如果它没有终止,请从您在此处执行的 ps 中获取 pid,然后kill -9 PID

  2. “尝试”通过运行mysql,/etc/init.d/mysql start如果它给你与上面完全相同的错误,那么你需要复制mysql.服务器文件从您下载的mysql中获取,该文件可以在support-files您下载的mysql文件夹内的文件夹中或/usr/local/mysql文件夹中找到,并将其复制到/etc/init.d/mysql(例如:cp mysql.server /etc/init.d/mysql并赋予它可执行权限chmod +x /etc/init.d/mysql,然后再次运行它。

  3. 如果仍然有问题,请编辑配置文件/etc/my.cnf(如果安装了 5.5)或/etc/mysql/mysql.conf(如果安装了 5.1),并将所有/tmp/mysql.socket行更改为/var/run/mysqld/mysqld.sock。请注意,配置文件也可以位于/etc/mysql/my.cnf

    测试一下,但请添加你正在使用的 mysql,5.1 或 5.5。我在这里提到 5.5 是因为 5.5 使用 /tmp,而 5.1 使用默认的 /var/run

如果您碰巧使用的是 5.5,那么请记住从 /etc/mysql、/var/lib/mysql 和 /user/lib/mysql 中删除旧 5.1 的目录

答案4

在连接参数中将服务器名称从“localhost”更改为“127.0.0.1”,我相信它会起作用。

相关内容