mysql 根密码生成错误,Table 'mysql.user' 不存在'

mysql error at root password generation, Table 'mysql.user' doesn't exist'

我在我的服务器(kubuntu 发行版)上全新安装了 lamp,但是当我安装它时,我不必为 root 用户或其他用户指定密码。 我尝试清除 mysql-server 然后重新安装它但没有成功。

当我尝试做一个 sudo mysqladmin -u root password -p "", 终端 return 我这个错误:mysqladmin:无法更改密码;错误:'Table 'mysql.user' 不存在'

也许我在 mysql-server 安装之前错过了删除某些东西(之前我遇到了另一个错误,因为我的分区已满,这破坏了我的安装)。

提前感谢您的宝贵时间。

编辑:

我再次尝试在 mysql* 上删除清除,自动删除,然后 apt-get install mysql-server。

现在我在安装过程中遇到这个错误:

    start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing package 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 package mysql-server (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates it's a follow-up error from a previous failure.
                                                                                                            Processing triggers for libc-bin (2.19-0ubuntu6.9) ...
Processing triggers for ureadahead (0.100.0-16) ...
Errors were encountered while processing:
 mysql-server-5.5
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

编辑二:

我试了所有this method,还是不行。也许我错过了一些关于 linux 分发规范之类的东西。

编辑三:

我再次清除,删除 /var/lib/mysql 文件夹,错误消失。 但是该命令不允许我输入任何密码或其他基本配置。

我理解你的沮丧,因为我反复经历了同样的过程。事实上,当你说 "Maybe I missed removing something before mysql-server install."

时,你的想法是正确的

尝试清除和删除 mysql 时存在一个已知错误。清除完成后,包依赖配置文件可能仍然存在。

参考 MySQL Bug #72722 是一个已知的解决方案,最终对我自己有用。

再次重复 removal process:

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql
sudo rm -rf /var/log/mysql

完成上述命令后,运行以下命令检查所有 mysql 包的当前状态:

sudo dpkg -l | grep mysql

如果您看到列表中填充了任何内容,则必须在重新安装之前清除这些内容。代码示例将是 ii(已安装)、rc(已删除的配置文件保留)或 ic(已安装的配置文件)。包名称位于这些标志的右侧。逐一复制 运行 以下命令:

sudo apt-get purge <package-name-here>

清空列表后,您就可以在 Ubuntu 上安装 MySQL 而不会出现错误

sudo apt install mysql-server mysql-client