无法在 Plesk 服务器上创建或删除数据库

Cannot create or delete db on Plesk server

今天我意识到我无法在我的 Plesk 服务器上添加或删除属于我的任何客户端的任何数据库。

收到此错误:

Error: Unable to remove some of the selected databases. The user specified as a definer ('root'@'localhost') does not exist

所以我找到了 运行 这个修复:

# plesk db
# CREATE USER 'root'@'localhost' IDENTIFIED BY 'password';

现在,在尝试添加或删除数据库时,我收到 new 错误:

Error: Connection to the database server failed: View 'mysql.user' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them

(我不确定它是否相关,但我几天前更新了 MariaDB。我很确定我在这样做之后创建了一个新数据库)。

CentOS Linux 7.7.1908(核心)| Plesk 玛瑙 | 版本 17.8.11 更新 #80 | mysql 10.4.11-1.el7.centos | 10.4.11-MariaDB MariaDB 服务器

似乎 root@lo...在您几天前升级 MariaDB 时被删除了。

选项 1: 它会删除 root@127... 并且您会同时使用 root 用户对数据库、连接的数据库、views 等的引用。Views 主要是因为错误也指向那个。所以也试试这个。

CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY 'password';

选项 2: 重新创建根目录后,尝试

flush privileges

如果不行,重启mysql试试

systemctl restart mariadb.service