![我搞砸了 MySQL。卡在 ERROR 2002 (HY000) 并且无法重新安装](https://linux22.com/image/1056406/%E6%88%91%E6%90%9E%E7%A0%B8%E4%BA%86%20MySQL%E3%80%82%E5%8D%A1%E5%9C%A8%20ERROR%202002%20(HY000)%20%E5%B9%B6%E4%B8%94%E6%97%A0%E6%B3%95%E9%87%8D%E6%96%B0%E5%AE%89%E8%A3%85.png)
好的,首先,我要讲一个背景故事。我来自 Windows 环境,我想将 Ubuntu 作为我的主要开发环境。我首先安装了 Lamp 堆栈,一切都很顺利,除了到达 MySQL 时。我想我在安装过程中漏掉了一些东西,但我无法访问 root。经过一番挖掘——并弄乱了文件——我发现我只能mysql>
使用 sudo 访问。但我习惯了phpmyadmin所以我想安装它。我安装了,但结果我无法访问它,因为我无法从浏览器的登录屏幕使用 sudo。那时我真的搞砸了。
长话短说,我尝试编辑 root 用户后将其全部卸载,但被完全锁定mysql>
,无法重新进入。我尝试了许多解决方案来完全卸载它,但每次我尝试时apt-get install mysql-server
,它都告诉我它已经安装。当我运行mysql
或mysql -uroot
等时,我得到这个
错误 2002 (HY000):无法通过套接字“/var/run/mysqld/mysqld.sock”连接到本地 MySQL 服务器 (2)
那是因为我删除了所有文件。
sudo apt-get install mysql-server
给了我这个:
正在读取软件包列表...完成 正在构建依赖关系树
正在读取状态信息...完成 mysql-server 已经是最新版本 (5.7.12-0ubuntu1.1)。升级了 0 个程序,新安装了 0 个程序,要删除 0 个程序,未升级 275 个程序。
我不知道下一步该做什么。救命!
编辑:
跑步sudo apt-get purge mysql*
isonuz@isuntuZ:~$ sudo apt-get purge mysql*
正在读取软件包列表... 完成 正在
构建依赖关系树
正在读取状态信息... 完成
注意,为 glob‘mysql*’选择‘mysqltcl’
注意,为 glob‘mysql*’选择‘mysql-mmm-agent’
注意,为 glob‘mysql*’选择‘mysql-workbench’
注意,为 glob‘mysql*’选择‘mysql-client-5.5’
注意,为 glob‘mysql*’选择
‘mysql-client-5.6’ 注意,为 glob‘mysql*’选择‘mysql-client-5.7’
注意,为 glob‘mysql*’选择‘mysql-mmm-tools’
注意,为 glob‘mysql*’选择‘mysql-common-5.6’
注意,为 glob‘mysql*’选择‘mysql-server-5.0’
注意,为 glob‘mysql*’选择‘mysql-server-5.1’
注意,选择为 glob 'mysql*' 选择 'mysql-server-5.5'
注意,为 glob 'mysql*' 选择 '
mysql-server-5.6' 注意,为 glob 'mysql*' 选择 'mysql-server-5.7'
注意,为 glob 'mysql*' 选择 'mysql-utilities'
注意,为 glob 'mysql*' 选择 'mysql-testsuite'
注意,为 glob 'mysql*' 选择 'mysql-mmm-common' 注意,为 glob 'mysql*'
选择 'mysql-server' 注意,为 glob 'mysql*'
选择 'mysql-client'
注意,为 glob 'mysql*' 选择 'mysql-sandbox'
注意,为 glob 'mysql*' 选择 'mysql-client-core-5.5'
注意,为 glob 'mysql*' 选择 'mysql-client-core-5.6'
注意,为 glob 'mysql*' 选择 'mysql-client-core-5.7'
注意,选择对于 glob ‘mysql*’,请
选择 ‘mysql-testsuite-5.5’。注意,对于 glob ‘mysql*’
,请选择 ‘mysql-testsuite-5.6’。注意,对于 glob ‘mysql*’,请选择 ‘mysql-testsuite-5.7’。
注意,对于 glob ‘mysql*’,请选择 ‘mysql-common’。注意,
对于 glob ‘mysql*’,请选择 ‘mysql-mmm-monitor’。
注意,对于 glob ‘mysql*’,请选择 ‘mysqltuner’。
注意,对于 glob ‘mysql*’,请选择 ‘mysql-workbench-data’。
注意,对于 glob ‘mysql*’,
请选择 ‘mysql-server-core-5.1’。注意,对于 glob ‘mysql*’
,请选择 ‘mysql-server-core-5.5’。注意,对于 glob ‘mysql*’,
请选择 ‘mysql-server-core-5.6’。注意,对于 glob ‘mysql*’
,请选择 ‘mysql-server-core-5.7’。7' 表示 glob 'mysql*'
软件包 'mysql-client-5.5' 未安装,因此未删除
软件包 'mysql-client-5.6' 未安装,因此未删除
软件包 'mysql-server-core-5.6' 未安装,因此未删除
软件包 'mysql-client-core-5.5' 未安装,因此未删除
软件包 'mysql-client-core-5.6' 未安装,因此未删除
注意,选择 'mysql-common' 而不是 'mysql-common-5.6'
软件包“mysql-server-5.5”未安装,因此未删除
软件包“mysql-server-5.6”未安装,因此未删除
软件包“mysql-server-core-5.5”未安装,因此未删除
软件包“mysql-testsuite-5.5”未安装,因此未删除
软件包“mysql-testsuite-5.6”未安装,因此未删除
软件包“mysql-server-5.0”未安装,因此未删除
软件包“mysql-server-5.1”未安装,因此未删除
软件包“mysql-server-core-5.1”未安装,因此未删除
软件包“mysql-mmm-agent”未安装,因此未删除
软件包“mysql-mmm-common”未安装,因此未删除
软件包“mysql-mmm-monitor”未安装,因此未删除
软件包“mysql-mmm-tools”未安装,因此未删除
软件包“mysql-sandbox”未安装,因此未删除
软件包“mysql-utilities”未安装安装,因此未被删除
包“mysql-workbench”未安装,因此未被删除
包“mysql-workbench-data”未安装,因此未被删除
包“mysqltcl”未安装,因此未被删除
包“mysqltuner”未安装,因此未被删除
包“mysql-source-5.7”未安装,因此未被删除
包“mysql-testsuite”未安装,因此未被删除
包“mysql-testsuite-5.7”未安装,因此未被删除
某些包无法安装。这可能意味着您请求了一个不可能的情况,或者如果您使用的是不稳定发行版,则某些必需的包尚未创建或已从传入中移出。
以下信息可能有助于解决该情况:
以下软件包具有未满足的依赖项:
dbconfig-mysql:依赖:mysql-client但不会安装或mariadb-client但不会安装或virtual-mysql-client
E:错误,pkgProblemResolver::Resolve 生成中断,这可能是由持有的软件包引起的。
跑步sudo apt-get autoremove
isonuz@isuntuZ:~$ sudo apt-get autoremove
正在读取软件包列表...完成 正在
构建依赖关系树
正在读取状态信息...完成
升级了 0 个软件包,新安装了 0 个软件包,要删除 0 个软件包,还有 291 个软件包未升级。
跑步sudo apt-get install lamp-server^ phpmyadmin
isonuz@isuntuZ:~$ sudo apt-get install lamp-server^ phpmyadmin
正在读取软件包列表... 完成 正在
构建依赖关系树
正在读取状态信息... 完成
注意,为任务“lamp-server”选择“libhttp-message-perl”
注意,为任务“lamp-server”选择“libencode-locale-perl”
注意,为任务“lamp-server”选择“php7.0-cli”
注意,为任务“lamp-server”选择“mysql-client-5.7”
注意,为任务“lamp-server”选择“libapache2-mod-php”
注意,为任务“lamp-server”选择“rename”
注意,为任务“lamp-server”选择“mysql-server-5.7”
注意,为任务“lamp-server”选择“php-common”
注意,为任务“lamp-server”选择“libaprutil1”
注意,为任务“lamp-server”选择“mysql-server”
注意,选择为任务“lamp-server”选择“php7.0-opcache”
注意,为任务“lamp-server”选择“libcgi-fast-perl”
注意,为任务“lamp-server”选择“libwrap0”
注意,为任务“lamp-server”选择“libhttp-date-perl”
注意,为任务“lamp-server”选择“perl-modules-5.22”
注意,为任务“lamp-server”选择“liblwp-mediatypes-perl”
注意,为任务“lamp-server”选择“libfcgi-perl”
注意,为任务“lamp-server”选择“libcgi-pm-perl”
注意,为任务“lamp-server”选择“libaprutil1-dbd-sqlite3”
注意,为任务“lamp-server”选择“php7.0-common”
注意,为任务“lamp-server”选择“libaio1” 注意,为任务“lamp-server”
选择“libio-html-perl” 'lamp-server'
注意,为任务 'lamp-server' 选择 'ssl-cert'
注意,为任务 'lamp-server' 选择 'apache2-data'
注意,为任务 'lamp-server' 选择 'libperl5.22'
注意,为任务 'lamp-server' 选择 'libapr1'
注意,为任务 'lamp-server' 选择 'libaprutil1-ldap'
注意,为任务 'lamp-server' 选择 'libhtml-tagset-perl'
注意,为任务 'lamp-server' 选择 'mysql-client-core-5.7'
注意,为任务 'lamp-server' 选择 'php7.0-json'
注意,为任务 'lamp-server' 选择 'php7.0-readline'
注意,为任务 'lamp-server' 选择 'tcpd'
注意,选择 'liblua5.1-0' 为任务 'lamp-server'
注意,为任务 'lamp-server' 选择 'mysql-common'
注意,为任务 'lamp-server' 选择 'libhtml-template-perl'
注意,为任务 'lamp-server' 选择 'libtimedate-perl'
注意,为任务 'lamp-server' 选择 'apache2-bin'
注意,为任务 'lamp-server' 选择 'perl'
注意,为任务 'lamp-server' 选择 'apache2'
注意,为任务“lamp-server”选择“php-mysql”
注意,为任务“lamp-server”选择“apache2-utils”
注意,为任务“lamp-server”选择“libhtml-parser-perl”
注意,为任务“lamp-server”选择“libapache2-mod-php7.0”
注意,为任务“lamp-server”选择“liburi-perl”
注意,为任务“lamp-server”选择“mysql-server-core-5.7”
注意,为任务“lamp-server”选择“php7.0-mysql”
apache2 已经是最新版本 (2.4.18-2ubuntu3)。
apache2-bin 已经是最新版本 (2.4.18-2ubuntu3)。
apache2-data 已经是最新版本 (2.4.18-2ubuntu3)。
apache2-utils 已经是最新版本 (2.4.18-2ubuntu3)。
libaio1 已经是最新版本 (0.3.110-2)。libapache2
-mod-php 已经是最新版本 (1:7.0+35ubuntu6)。libapr1
已经是最新版本 (1.5.2-3)。libaprutil1
已经是最新版本 (1.5.4-1build1)。libaprutil1
-dbd-sqlite3 已经是最新版本 (1.5.4-1build1)。libaprutil1
-ldap 已经是最新版本 (1.5.4-1build1)。libcgi
-fast-perl 已经是最新版本 (1:2.10-1)。libcgi
-pm-perl 已经是最新版本 (4.26-1)。libencode
-locale-perl 已经是最新版本 (1.05-1)。libfcgi
-perl 已经是最新版本 (0.77-1build1)。
libhtml-parser-perl 已经是最新版本 (3.72-1)。
libhtml-tagset-perl 已经是最新版本 (3.20-2)。
libhtml-template-perl 已经是最新版本 (2.95-2)。
libhttp-date-perl 已经是最新版本 (6.02-1)。
libhttp-message-perl 已经是最新版本 (6.11-1)。
libio-html-perl 已经是最新版本 (1.001-1)。
liblua5.1-0 已经是最新版本 (5.1.5-8ubuntu1)。
liblwp-mediatypes-perl 已经是最新版本 (6.02-1)。
libperl5.22 已经是最新版本 (5.22.1-9)。
libtimedate-perl 已经是最新版本 (2.3000-2)。
liburi-perl 已经是最新版本 (1.71-1)。
libwrap0 已经是最新版本(7.6.q-25)。perl
已经是最新版本(5.22.1-9)。perl
-modules-5.22 已经是最新版本(5.22.1-9)。php
-common 已经是最新版本(1:35ubuntu6)。php
-mysql 已经是最新版本(1:7.0+35ubuntu6)。rename
已经是最新版本(0.20-4)。ssl
-cert 已经是最新版本(1.0.37)。tcpd
已经是最新版本(7.6.q-25)。libapache2
-mod-php7。0已经是最新版本(7.0.4-7ubuntu2.1)。
mysql-client-5.7 已经是最新版本 (5.7.12-0ubuntu1.1)。
mysql-client-core-5.7 已经是最新版本 (5.7.12-0ubuntu1.1)。
mysql-common 已经是最新版本 (5.7.12-0ubuntu1.1)。
mysql-server 已经是最新版本 (5.7.12-0ubuntu1.1)。
mysql-server-5.7 已经是最新版本 (5.7.12-0ubuntu1.1)。
mysql-server-core-5.7 已经是最新版本 (5.7.12-0ubuntu1.1)。
php7.0-cli 已经是最新版本 (7.0.4-7ubuntu2.1)。
php7.0-common 已经是最新版本 (7.0.4-7ubuntu2.1)。
php7.0-json 已经是最新版本 (7.0.4-7ubuntu2.1)。php7.0
-mysql 已经是最新版本 (7.0.4-7ubuntu2.1)。php7.0
-opcache 已经是最新版本 (7.0.4-7ubuntu2.1)。php7.0
-readline 已经是最新版本 (7.0.4-7ubuntu2.1)。phpmyadmin
已经是最新版本 (4:4.5.4.1-2ubuntu2)。
升级了 0 个程序,新安装了 0 个程序,要卸载 0 个程序,未升级 291 个程序。
<<<< 已解决 >>>>
sudo apt-get purge mysql*
我没有完全卸载它,所以我疯狂地卸载了它
sudo apt-get purge *mysql * *php * *apache * *lamp *(单词和 * 之间没有空格) sudo
apt-get autoremove
sudo apt-get autoclean
sudo apt-get install lamp-server^
sudo apt-get install phpmyadmin
sudo apt-get install php-mbstring php7.0-mbstring php-gettext
当然,还进行了必要的配置。问题最终在于我设置 mysql 时没有密码。这在 Windows 上有效,但在 Ubuntu 上显然不行。所以这次我只是给它设置了一个密码,一切正常。
答案1
sudo apt-get purge mysql* 并没有完全卸载它,所以我疯狂地做了
sudo apt-get purge *mysql * *php * *apache * *lamp * (no spacews between the word and the *) sudo apt-get autoremove sudo apt-get autoclean sudo apt-get install lamp-server^ sudo apt-get install phpmyadmin sudo apt-get install php-mbstring php7.0-mbstring php-gettext
当然,还进行了必要的配置。问题最终在于我设置 mysql 时没有密码。这在 Windows 上有效,但在 Ubuntu 上显然不行。所以这次我只是给它设置了一个密码,一切正常。