我有一台以前安装过 MySQL 的 Debian 机器。为了删除它,我愚蠢地删除了目录/文件/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 install mysql-server 阅读包裹清单...完成 构建依赖树 读取状态信息...完成 将安装以下额外的软件包: mysql-server-5.0 将安装以下新软件包: mysql-server mysql-server-5.0 0 个升级,2 个新安装,0 个删除,0 个未升级。 需要获得 0B/27.4MB 的档案。 此操作后,将使用 86.6MB 的额外磁盘空间。 你想继续[是/否]吗?是 警告:无法验证以下包! mysql-server-5.0 mysql-server 身份验证警告已被覆盖。 预配置包... Can't exec "/tmp/mysql-server-5.0.config.122781": Permission denied at /usr/share/perl/5.10/IPC/Open3.pm line 168. open2: exec of /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'(错误号:13) 110206 19:31:13 [错误] /usr/sbin/mysqld:找不到文件:'./mysql/user.frm'(错误号:13) 错误:1017 找不到文件:“./mysql/user.frm”(错误号: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-server-5.0 mysql服务器 E:子进程/usr/bin/dpkg返回错误码(1)
我试图通过谷歌搜索解决方案,并找到了很多针对这个问题的建议,但最终似乎问题是通过手动删除文件,我搞砸了mysql-common
包。
我试过做
sudo apt-get install --reinstall mysql-common
Run Code Online (Sandbox Code Playgroud)
其次是安装mysql-server
,但它做的事情完全一样。
我以前让 MySQL 工作得很好,我只是想让它回到那个状态。非常感谢你的帮助。
试试这些:
sudo apt-get purge mysql-common mysql-server-5.1
sudo apt-get install mysql-server
Run Code Online (Sandbox Code Playgroud)
请注意,您不需要清除mysql-server,因为它只是一个元包(即它是一个仅包含依赖项信息的便利包)。另外,请注意purge
选项的输出。它可能会显示未清除的目录,然后您可以手动删除这些目录。