当 MariaDB 看起来没有损坏时,如何解决它可能损坏的表错误

Int*_*ted 2 sql mariadb

我有两种理论。1. 这是一个权限错误 2. 该表已损坏。我似乎解决了这两个问题,但没有结果。什么可能导致此错误 1728 消息?

以 mysql 用户身份运行它不起作用

MariaDB [mysql]> DROP FUNCTION IF EXISTS civicrm_strip_non_numeric;
ERROR 1728 (HY000): Cannot load from mysql.proc. The table is probably corrupted
Run Code Online (Sandbox Code Playgroud)

它并没有说它是腐败的。

MariaDB [mysql]> repair table proc;
+------------+--------+----------+----------+
| Table      | Op     | Msg_type | Msg_text |
+------------+--------+----------+----------+
| mysql.proc | repair | status   | OK       |
+------------+--------+----------+----------+
Run Code Online (Sandbox Code Playgroud)

Int*_*ted 11

这解决了它

mysql_upgrade -u root -pxxx 
Run Code Online (Sandbox Code Playgroud)
  • 不知道我升级了,因为这是新安装。

  • mariadb 与 mysql 相同