最近AWSをポチポチ弄り倒しておりまして、気づいたら本格的なメールサービスを提供できるレベルで整えていたり(笑)
→ https://maximail.jp
雰囲気だけ大切ねw
で、まぁいろいろありまして、自分でDB立てて冗長化させるのもいいんだけども、面倒くさいなぁって少し思ったのと、ちょっとだけ自己研磨(表現あってるっけ?)のために少しばかりお金使ってRDS使おうって思ったんです。RDSとは
一番安いインスタンスでも月4000円位かかるんですよ。。1台じゃなくて2台構成で冗長化を有効にしてみたんでね(汗)
で、いざDB使い始めるとEC2インスタンスとかに比べていざ動かすと止められないじゃないですか~。実際、LDAP、Postfix、Dovecot、nginx、あれやこれやって止めたくないサービスが多くて、EC2も電源入れっぱなしだったり(笑)早くサービスにしたいなぁ。
今回は迷惑メールとウイルスメール管理画面関連でDBを使うことにしたので、止めたくないのですよね。冗長化とか後回しにして全然いいんですけど、なんか、ま、自分が新しいこと挑戦するご褒美としてですね、はい。
さて、MySQLやMariaDBなんてお茶の子さいさいで、今までphpMyAdminとか使おうだなんて思ったことがないくらいSQLはへっちゃらなんですが、Amazon RDSのMariaDBにだけ、ものすごく悩まされたので、ここに共有しておきます。
GRANT ALL ON できない!!
「GRANT ALL ON データベース名.* TO ユーザ名@ホスト名」ってのが使えないんです!エラーになるんです。最高権限ユーザ(マスターユーザって呼ばれる)でログインしても、エラーになるんですよ。
ERROR 1044 (42000): Access denied for user 'root'@'%' to database 'データベース名'
いや、意味わからんし・・・・。
いろいろ調べた結果、とりあえずバグっぽいことがわかったので、サポートにGRANT ALLできないんですけどと問い合わせをしながらも、暫定対処としてこんなもんでどうだろうか。
GRANT ALLできないなら指定してやる!
GRANT SELECT, UPDATE, DELETE, INSERT, CREATE, DROP, INDEX, ALTER, LOCK TABLES, EXECUTE, CREATE TEMPORARY TABLES, TRIGGER, CREATE VIEW, SHOW VIEW, EVENT ON データベース名.* TO 'ユーザ名'@'%';
いやー なんだかなぁ~
RDSなんて使わないで、冗長化~とか気にせずにEC2内にサクッと作っておけば数時間も悩まなくてよかったのに。。とほほ、ほーほけきょ。
サポートから回答きたら情報共有します。
コメント