MySql #2002 问题

MySql #2002 问题

可能重复:
我的 MySQL 安装已损坏。如何彻底重新配置它?

当我尝试登录 apache 时,出现错误#2002。当我尝试通过终端登录 MySQL 时,它询问我的密码,我得到:

$ mysql -u root
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

我尝试删除 mysql 并重新安装,但什么都没发生(我甚至无法删除它)我尝试重新启动 apache,但仍然没有反应。我尝试重新启动我的电脑,当然仍然不起作用。

在终端我得到这个:

$ sudo start mysql
start: Job failed to start

$ mysql -ubob -hlocalhost -P3306 -p
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

$ sudo service mysql stop
stop: Unknown instance: 

这是我的my.cnf文件:

# * Basic Settings
#
user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
port        = 3306
basedir     = /usr
datadir     = /var/lib/mysql
tmpdir      = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking

我试图查找我的/var/run/mysqld/或中是否有一个文件/var/tmp/,但没有找到文件 mysqld.sock……我查看了一下/var/log/mysql/,但里面什么都没有。

你能帮助我吗?我在 Google 上搜索了好几个小时,但一点帮助都没有……

更多信息:

的结果cat /var/log/syslog | grep mysql 这里

/var/run/mysqld/存在,但其中没有任何内容

$ ls -la/var/run/mysqld/
total 0
drwxr-xr-x  2 mysql root  40 Nov 5 22:31 .
drwxr-xr-x 25 root  root 860 Nov   5 22:32 ..

我的 ubuntu 是 12.04 LTS。你能告诉我如何备份我的数据库吗?如果你没有更好的东西,那么重新安装至少我可以备份我的数据库

我尝试使用以下命令进行备份:

mysqldump -u root -p –所有数据库> all_backup.sql

输入密码:

mysqldump:尝试连接时出现错误:2002:无法通过套接字 >'/var/run/mysqld/mysqld.sock' (2) 连接到本地 MySQL 服务器

答案1

我猜你没有运行 MySQL。尝试使用以下命令启动它

 $ sudo service mysql start

如果仍然出现错误,请检查系统日志以获取一些信息

$ grep mysql /var/log/syslog 

如果你无法弄清楚问题,你也可以使用 pastebinit 通过日志更新你的答案

$ grep mysql /var/log/syslog  | pastebinit

另外,检查/var/run/mysqld/目录是否存在并且属于 mysql 用户。

$ ls -la /var/run/mysqld
total 4
drwxr-xr-x  2 mysql root   80 Nov  5 21:24 .

如果没有任何方法可以解决问题,也许最好的办法就是完全删除 MySQL 并重新安装。

警告:这将删除您的所有 MySQL 数据。因此,如果您的 MySQL 数据库中有重要数据,您应该先进行备份!

sudo apt-get purge mysql-server mysql-common
sudo rm -rf /var/lib/mysql
sudo apt-get clean
sudo apt-get install mysql-server

编辑

我找到了这个漏洞这似乎和你的类似。有一个解决方法西蒙·希尔这可能对您有用:创建一个文件/etc/apparmor.d/tunables/proc(如果它尚不存在),其中包含以下内容:

# ------------------------------------------------------------------
#
#    Copyright (C) 2006 Novell/SUSE
#
#    This program is free software; you can redistribute it and/or
#    modify it under the terms of version 2 of the GNU General Public
#    License published by the Free Software Foundation.
#
# ------------------------------------------------------------------

# @{PROC} is the location where procfs is mounted.
@{PROC}=/proc/

相关内容