我对 Linux 还不太熟悉,第一次安装 MySQL 是在使用 Ubuntu 安装的个人计算机上进行 LAMP 安装时。目前,我正在尝试全新、干净地安装 MySQL。我一直在尝试研究如何修复此错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
但意识到这是徒劳无功的,这似乎是一个常见问题,有许多解决方案无法在后台运行。无论如何,我仍然无法找出我的问题是什么,而且我知道这个数据库中没有什么重要的东西,所以:
sudo apt-get purge mysql-server mysql-client
或者可能确实有效,但其中的 (conf) 文件仍然保存在某处。我必须进入哪些子目录/目录并对其执行“sudo rm -f [db_files]”。(或者我遗漏了其他 apt-get purge)
答案1
这个错误信息说的是“我无法通过本地文件连接”,这可能意味着 mysqld 没有运行,或者它被配置为禁用套接字,或者它在其他地方。
要完全重新安装 mysql:
1) 彻底清除 mysql 软件包:(apt-get purge mysql mysql-server mysql-common mysql-client
取决于发行版)。您可以使用以下命令检查剩余软件包dpkg -l | grep mysql
2) 检查配置文件是否消失。它应该在/etc/my.cnf
或下/etc/mysql/my.cnf
。您可以通过 来确认find / -name my.cnf
。(注意:/usr/share 下的任何内容都是文档和示例配置,不会造成问题)
3)删除或移动/var/lib/mysql
包含(旧)数据库文件的目录
4)apt-get install mysql-server && /etc/init.d/mysqld start
应该会给你一个全新的mysql安装。
5) 如果错误仍然存在,请使用命令检查 mysqld 是否正在运行ps -ef | grep mysqld
。如果是,您可能需要在 2) 中的配置文件名中的“[mysqld]”下指定“sock”参数。您还可以尝试使用 进行连接mysql -h 127.0.0.1 --protocol=TCP
以强制网络连接,而不是使用 UNIX 套接字。
答案2
mysql 删除并重新安装过程;
步骤 1:使用 yum 卸载现有的 rpm
# yum remove mysql mysql-server
第 2 步:删除或移动 /var/lib/mysql 文件夹。
# mv /var/lib/mysql /var/lib/mysql-bak
步骤3:使用yum重新安装mysql。
# yum install mysql mysql-server
步骤4:现在mysql服务将成功启动。
答案3
您正在寻找的设置在位于 /etc/mysql/ 的 mysql 配置文件中定义,清除很可能不会影响位于 etc 中的文件,特别是如果它们在安装时从未创建过(最初由 LAMP 创建)。
- 按照上面的方法清除所有 mysql 内容
- 在给定目录 /etc/mysql 中找到配置文件,如果找不到,请使用“find”搜索“/var/run/mysqld/mysqld.sock”,它也应该在默认套接字所在的配置文件中
- 删除配置文件
- 重新安装 Mysql
如果您有任何问题,请询问。
答案4
mysql 的所有数据库文件通常都存储在 中/var/lib/mysql
。
但你的问题似乎出在别的地方:/var/run/mysqld/mysqld.sock
是这个文件的默认位置。
查看日志文件/var/log/mysql.err
并/var/log/syslog
追踪 mysqld 无法运行的错误。