这次安装的MySQL已经升级到5.7.25了吗?

Sim*_*mon 5 ubuntu errors mysql-5.7

我使用了sudo apt upgrade并得到了这个:

E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem. 
Run Code Online (Sandbox Code Playgroud)

所以我做到了,我看了一个多小时。

Setting up mysql-server-5.7 (5.7.25-0ubuntu0.18.04.2) ...
Checking if update is needed.
This installation of MySQL is already upgraded to 5.7.25, use --force if you still need to run mysql_upgrade
Run Code Online (Sandbox Code Playgroud)

没发生什么事。好久没用MySQL了,不知道该怎么办。理解一定有一些强制的东西,但我是 Ubuntu 的新手,对命令不太熟悉。你能帮助我吗?我不明白也不明白问题是什么...:(

更新:我也可以使用 MySQL Workbench 并在终端中获得访问权限,但仍然会看到该错误

小智 5

实际上这是一个对我有用的解决方案:

https://techierg.blogspot.com/2019/06/ubuntu-1804-mysql-this-installation-of.html

引用:

简而言之,解决方案是

编辑文件/var/lib/dpkg/info/mysql-server-5.7.postinst

sudo nano /var/lib/dpkg/info/mysql-server-5.7.postinst

在第 # 370 行,注释掉 echo ALTER 语句

#echo "ALTER USER 'root'@'localhost' IDENTIFIED WITH 'auth_socket';" >> "$initfile"

重新启动虚拟机,然后...

再次运行dpkg configure,问题就解决了。

sudo dpkg --configure -a

这为我解决了这个问题,并节省了我数小时的研究时间。

这篇文章在这里引用了这个链接:

https://bugs.launchpad.net/ubuntu/+source/mysql-5.7/+bug/1817374/comments/8


Ahm*_*sna 0

您可以使用以下命令检查升级并修复任何小问题:

mysqlcheck --no-defaults --all-databases --fix-db-names --fix-table-names
mysqlcheck --no-defaults --check-upgrade --all-databases --auto-repair
Run Code Online (Sandbox Code Playgroud)

他们会告诉您数据库到底发生了什么,并修复他们在数据库本身中遇到的任何主要问题。