我有一台 Debian 机器,之前在上面安装了 MySQL。为了删除它,我愚蠢地删除了目录/文件/etc/mysql/
、/etc/init.d/mysql
、/usr/lib/mysql/
、/var/lib/mysql/
。后来我又删除了sudo apt-get purge mysql-server mysql-server-5.0
。
现在,当我尝试安装 mysql-server 时,我得到:
$ sudo apt-get 安装 mysql 服务器 正在读取软件包列表...完成 构建依赖关系树 正在读取状态信息...完成 将会安装以下额外的软件包: mysql-服务器-5.0 将会安装以下新软件包: mysql 服务器 mysql-server-5.0 升级了 0 个,新安装了 2 个,删除了 0 个,并且未升级 0 个。 需要获取 0B/27.4MB 的档案。 此操作后将使用86.6MB的额外磁盘空间。 您想继续吗 [Y/n]?y 警告:以下包无法被验证! mysql-server-5.0 mysql 服务器 身份验证警告已被覆盖。 预配置包... 无法执行“/tmp/mysql-server-5.0.config.122781”:/usr/share/perl/5.10/IPC/Open3.pm 第 168 行拒绝访问。 open2:/tmp/mysql-server-5.0.config.122781 configure 的执行在 /usr/share/perl5/Debconf/ConfModule.pm 第 59 行失败 mysql-server-5.0 预配置失败,退出状态为 255 选择以前取消选择的包 mysql-server-5.0。 (正在读取数据库...当前安装了 158138 个文件和目录。) 正在解压 mysql-server-5.0(来自 .../mysql-server-5.0_5.0.51a-24+lenny5_amd64.deb)... 选择以前取消选择的包 mysql-server。 正在解压 mysql-server(来自 .../mysql-server_5.0.51a-24+lenny5_all.deb)... 正在处理 man-db 的触发器... 设置 mysql-server-5.0 (5.0.51a-24+lenny5) ... 停止 MySQL 数据库服务器:mysqld。 110206 19:31:13 [错误] /usr/sbin/mysqld:找不到文件:'./mysql/user.frm'(errno:13) 110206 19:31:13 [错误] /usr/sbin/mysqld:找不到文件:'./mysql/user.frm'(errno:13) 错误:1017 找不到文件:'./mysql/user.frm'(errno:13) 110206 19:31:13 [错误] 正在中止 110206 19:31:13 [注意] /usr/sbin/mysqld:关机完成 /etc/init.d/mysql:警告:无法读取 /etc/mysql/my.cnf。请参阅 README.Debian.gz (警告)。 启动 MySQL 数据库服务器:mysqld 。。。。。。。。。。。失败! invoke-rc.d: initscript mysql,操作“启动”失败。 dpkg:处理 mysql-server-5.0 (--configure) 时出错: 子进程安装后脚本返回错误退出状态 1 dpkg:依赖性问题阻碍了 mysql-server 的配置: mysql-server 依赖于 mysql-server-5.0;然而: 软件包 mysql-server-5.0 尚未配置。 dpkg:处理 mysql-server 时出错(--configure): 依赖问题 - 未配置 处理时遇到错误: mysql-服务器-5.0 mysql 服务器 E: 子进程 /usr/bin/dpkg 返回错误代码 (1)
我尝试通过 Google 搜索解决方案,并找到了很多针对此问题的建议,但最终看来问题在于通过手动删除文件,我弄乱了包mysql-common
。
我曾尝试过
sudo apt-get install --reinstall mysql-common
然后安装mysql-server
,但它做的事情完全相同。
我之前 MySQL 运行得很好,我只想让它恢复到那个状态。非常感谢您的帮助。
答案1
尝试这些:
sudo apt-get purge mysql-common mysql-server-5.1
sudo apt-get install mysql-server
请注意,您不需要清除mysql 服务器因为它只是一个元包(即,它是一个仅包含依赖项信息的便利包)。另外,请注意选项的输出purge
。它可能会显示未清除的目录,然后您可以手动删除它们。
答案2
警告:以下软件包无法通过身份验证!mysql-server-5.0 mysql-server
检查你的 sources.list - 看起来你由于某种原因没有使用标准存储库