无法通过 Ubuntu 12.04.5 LTS 中的套接字 '/var/run/mysqld/mysqld.sock' 连接到本地 MySQL 服务器

Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' in Ubuntu 12.04.5 LTS

我在 Ubuntu 12.04.5 LTS 中遇到 错误无法通过套接字 '/var/run/mysqld/mysqld.sock' 连接到本地 MySQL 服务器。 所以,我 从 Ubuntu 12.04.5 LTS.But 卸载了 mysql 5.5 我试图安装 mysql,我无法安装 mysql。

我使用以下命令卸载 mysql:

 sudo apt-get remove --purge mysql-server mysql-client mysql-common
 sudo apt-get remove --purge mysql-server-5.5 mysql-client-5.5 mysql-servercore-5.5 mysql-client-core-5.5
 sudo apt-get autoremove
 sudo apt-get autoclean
 sudo rm -rf /var/lib/mysql
 sudo rm -rf /etc/mysql
 sudo deluser mysql

我使用以下命令安装 mysql 5.5:

sudo apt-get install mysql-server-5.5
sudo apt-get install mysql-server

但是我遇到了以下错误:

 AppArmor parser error for /etc/apparmor.d/usr.sbin.mysqld in      /etc/apparmor.d/usr.sbin.mysqld at line 9: Could not open 'abstractions/mysql'
 start: Job failed to start
 invoke-rc.d: initscript mysql, action "start" failed.
 dpkg: error processing mysql-server-5.5 (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
mysql-server depends on mysql-server-5.5; however:
Package mysql-server-5.5 is not configured yet.
dpkg: error processing mysql-server (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup    error from a previous failure.
                                                                                                         Errors were encountered while processing:
mysql-server-5.5
mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

当我从终端输入 'mysql' 时 returns 错误:

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

我在谷歌搜索后尝试 telnet 127.0.0.1 3306,它返回 连接被拒绝

任何人都可以提出解决方案吗?

这是 Mariadb 为我修复的问题

首先查明您的 mysql 配置文件(很可能位于 /etc/mysql/my.cnf/etc/my.cnf 是否具有正确的 mysql.sock 条目

您可以通过 运行 找到 mysql.sock 文件所在的位置 find / -type s,如果您的 mysql 配置中的条目不正确,请修复它,同时确保 mysql.pid 也具有正确的路径。

现在尝试启动 mysql 服务器,如果它启动正常并且您可以看到其中的所有数据库和表,那么您很好并且不需要遵循 post 的其余部分。

如果 mysql 在修复 mysql.sock 路径后无法启动,请继续阅读

将以下内容添加到您的 my.cnf 文件中,

innodb_force_recovery = 1mysqld 块内,然后重新启动 mysql.

如果启动失败,每次将数字递增 1,但请记住,在 3 之后,它们可能会丢失一些数据(我没有发生过,但我只读到任何超过 3 的内容都是挽救措施,而不是恢复)

如果您以前有一些表,不要惊慌,不要再显示它们不存在于引擎中。 Ones mysql 成功启动(如果你还没有备份,最好现在做一个,以防万一事情从这里开始),从 my.cnf 文件中删除 innodb_force_recovery = 1 并重新启动 mysql 再次,您所有的桌子都应该再次可用。

对我有帮助的帖子

在我的情况下,这是因为系统内存 RAM 没有足够的 space 用于 "free -hw" 数据库,我可以通过使用 swap

来解决它