无法通过socket' /var/run/mysqld/mysqld.sock&#39连接到本地MySQL服务器;在Ubuntu 12.04.5 LTS

时间:2015-08-20 10:03:53

标签: mysql linux ubuntu install

我遇到错误无法通过socket' /var/run/mysqld/mysqld.sock'连接到本地MySQL服务器;在Ubuntu 12.04.5 LTS。 所以,我从Ubuntu 12.04.5 LTS 卸载了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'从终端返回错误:

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

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

有人可以提出解决方案吗?

2 个答案:

答案 0 :(得分:7)

这是Mariadb为我修复的内容

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

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

现在尝试启动mysql服务器,如果它启动正常,你可以看到所有的DB和表,你很好,不需要关注其余的帖子。

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

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

innodb_force_recovery = 1块内

mysqld,然后重新启动mysql。

如果它无法启动,每次增加一个数字,但请记住,在3​​之后,它们可能会有一些数据丢失(不是发生在我身上,但我只读过有关3以上的任何内容作为打捞措施,而不是恢复)

如果您之前拥有的某些表格不要惊慌,请停止显示它们在引擎中不存在。 Ones mysql成功启动(如果你还没有备份,现在最好先制作一个,以防万一从这里开始向南),从my.cnf文件中删除innodb_force_recovery = 1并重新启动mysql,你的所有表都应该是再次可用。

帮助我的帖子

答案 1 :(得分:1)

在我的情况下,是因为系统内存RAM没有足够的空间来容纳“ free -hw”数据库,所以我可以使用swap来解决它