解决 mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'mysql'': Cannot load from mysql.proc. The table is probably corrupted (1728) 的问题

今天在对 NextCloud 的数据库进行备份的时候,遭遇了“mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'mysql'': Cannot load from mysql.proc. The table is probably corrupted (1728)”的问题,如下:

经分析查询,应该是数据库从 5.1 升级到 5.5 的常见问题,也有可能是 mysql 和 mariadb 的兼容性问题,总之可以用 mysql_upgrade 命令来解决,如下:


经过一系列的升级和修复之后,即可成功执行备份。