在 AWS EMR 集群上使用 MySQL 个实例

Using MySQL instance on AWS EMR cluster

我创建了一个 AWS EMR 实例并通过 putty 登录了 "Master" 控制台。我能够进入控制台上的 MySQL 命令行。我以 "hadoop@localhost"

登录
mysql> SELECT user();
+------------------+
| user()           |
+------------------+
| hadoop@localhost |
+------------------+

现在我想为其他项目创建一些用户和数据库。当我尝试在 MYSQL 上创建新用户时,出现以下错误。

如何在 EMR-MySQL 实例上创建用户并授予他们权限?

mysql> CREATE USER 'dbadmin'@'localhost' IDENTIFIED BY 'dbadmin';
ERROR 1227 (42000): Access denied; you need (at least one of) the CREATE USER privilege(s) for this operation

顺便说一句,当我登录到 MySQL 控制台时,它会自动以 "hadoop@localhost" 身份登录我,因为这是我过去通过 putty 登录机器的用户。

请指教。谢谢

Hive 使用 MySQL 作为其在 EMR 上的元数据存储。您将需要停止 MySQL 服务,以安全模式重新启动并执行标准的 root 密码恢复。这将为您提供根访问权限。但是,停下来,不要这样做。在其他地方创建您的 MySQL 数据库。

你可以执行 sudo mysql 它应该可以工作。

sudo mysql
CREATE USER 'dbadmin'@'localhost' IDENTIFIED BY 'dbadmin';

Query OK, 0 rows affected (0.00 sec)