首页 > 解决方案 > 无法在 MariaDB 的 AWS RDS 实例上执行 mysql_upgrade

问题描述

我在 AWS RDS 上有一个 MariaDb 10.1.34 实例。此实例除其他外具有具有适当权限的 root 用户。

我将实例升级为使用 10.2.21 版本的 MariaDB,并希望按照官方升级文档中的建议执行mysql_upgrade

但是我总是得到这个错误:

Got error: 1045: Access denied for user 'root'@'<instanceip>' (using password: YES) when trying to connect

使用完全相同的凭据,我可以使用 mysql cli 连接到数据库,但没有 mysql_upgrade 或 mysqlcheck。

所以这有效:

mysql --user=root --password=<pwd> --host=<hosturl> --port=3306 --protocol=tcp

这不会:

mysql_upgrade --user=root --password=<pwd> --host=<hosturl> --port=3306 --protocol=tcp

SHOW GRANTS FOR root;给出这个输出:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX,
      ALTER, SHOW  DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE,
      REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER,
      EVENT, TRIGGER ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD '<sometext>' WITH GRANT OPTION

有任何想法吗?

标签: amazon-web-servicesmariadbamazon-rds

解决方案


为了节省任何试图做同样事情的人的时间——不要。

我遇到的行为是 AWS 设计的。mysql_upgrade 已在内部实例升级过程中执行。(此声明的来源


推荐阅读