質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

1082閲覧

RDSのMariaDBで、grant allするとAccess deniedが表示されます

lin.ming

総合スコア50

Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2022/04/11 07:56

編集2022/04/12 00:42

今まで ec2 x1, rds x 1の環境でLAMPを運用していましたが、ec2を新たに追加しました。

新しい ec2 も今までの ec2 も下記不具合が出ました。

ec2 から mysql コマンドで接続はできます。
新しい ec2 のプライベートIPアドレスを追加するため、まず create user しました。これは成功しました。
grant all でデータベースを許可しようと思ったのですが、

MariaDB [(none)]> grant all on {database name}.* to 'user_name'@'{ec2のIPアドレス}' with grant option; ERROR 1044 (42000): Access denied for user '{user name}'@'{ip address}' to database '{database name}'

AWSに限ったことでなくて、MariaDBのコマンドが間違っていると思うのですが、どういう観点で潰していけばよいでしょうか?
よろしくお願いします。

ご指摘をいただきましたので追記です。

mysqlクライアントでは一般ユーザがadminで接続しました。
glantおよびcreate userコマンドはadminで接続していました。
接続先はRDSです。

再追記です。

$ mysql -h maria.xxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com -P 3306 -u admin -p MariaDB [(none)]> grant all on wptest.* to {user name}@{ip address} identified by 'xxxxxxxxx'; ERROR 1044 (42000): Access denied for user 'admin'@'%' to database 'wptest'

です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yu_1985

2022/04/11 10:24

「mysqlコマンドで接続できる」では情報が足りません。クエリを実行できている時点でそこは確認ができます。 mysqlクライアントではどのユーザーで接続しましたか。 また、GRANTコマンドを実行したときにはどのユーザーで接続していましたか。 接続している先はRDSで間違いないでしょうか。 エラーメッセージと言葉での説明だけでなく、実行したコマンドを時系列に沿ってなるべく正確に記載してください。
lin.ming

2022/04/11 11:11

ご指摘ありがとうございました。 質問に追記しました。
yu_1985

2022/04/11 13:25

言葉での記述ではなく、コマンド履歴から実行したコマンドとSQL文を、必要に応じて内容をマスクした上でコピペしてください。
guest

回答1

0

ベストアンサー

こんにちは。

RDS for MariaDBの管理者ユーザーは通常のMariaDB管理ユーザーと異なり、grant allが出来ないようです。
grant SELECT, INSERT, UPDATE ...のように個別に権限を指定してください。

ちなみに、RDS for MySQLではこの問題は発生しません。

投稿2022/04/11 22:26

編集2022/04/11 22:30
Tak1wa

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lin.ming

2022/04/12 02:01

情報ありがとうございます。 grant select, insert, update, delete ... でできました! しかしながら、今後どれだけのオプションを雪堤すればいいのか・・・
Tak1wa

2022/04/12 06:46

以下に少しまとめました。 https://dev.classmethod.jp/articles/amazon-rds-mariadb-grant-all-privileges/ RDSが作成する管理者相当の権限を付与したいのであれば、adminでshow grantsした上で同じ権限を付与してやると良いかと思います。権限はスコープがあるので、データベース内で付与したい場合は権限一覧などから何を設定すべきか判断するのが良いと思います。
lin.ming

2022/04/14 02:47

ピンポイントの解説ありがとうございました!
lin.ming

2022/10/18 08:02

補足です。 MariaDB 10.6以降では grant all ができるよう復活しました。
Tak1wa

2022/10/18 08:14

おおお、そうでしたか!情報共有ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問