雨男のあれをあれするブログ

アウトプット先としてのブログ。すべての雨男に幸あれ。

mysqlで管理者権限の付与で困った話。

備忘録です。

 

phpmyadminにrootでログインできないから、何もできない状態となっていた。

別IDでログインしても ”権限なし”ってなるやつです。

 

いろいろ試行錯誤してたら下に気がついた。

mysqlphpmyadminを入れた際にrootでログインできない問題。

sudo mysql -u root -p

だとログインできて

mysql -u root -p

でパスワード入れてもログインできない。

 

上記に気がついたことで、答えがわかった。

答えはここに(参考サイト)

Ubunt 16.04でMariaDBをインストールするとパスワードが変 | 純規の暇人趣味ブログ

 

スマートな解決方法でとりあえず新しいアカウント作ってなんとかなった。

sudo(root)でログイン

 

そのあと

CREATE USER '任意ID'@'localhost' IDENTIFIED BY '任意pass';

 

で、次でアカウントに権限を付与する感じ?

GRANT ALL ON *.* TO 'hogehoge'@'localhost';

 

ちょっと参考サイトとは違うけど、バカ正直にfooで最初やったから

そのままなにも権限がないような状態になりました(笑)

このあとのwww-dataってのが構文エラーでできなかったけど特に不要だったので割愛。

 

ただそのあとに少し落とし穴があって、PHPの方からだと

ログインできなかった。

#1698 - Access denied for user 'root'@'localhost'

でこれは何がいけなかったかっていうと

/etc/phpmyadmin/config.inc.phpの中身に今回新しく設定したアカウントとパスワードを更新しないといけなかった。

 

当該コード

/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'hogehogeID';
$cfg['Servers'][$i]['password'] = 'hogehogePASS';

で解決。

 

これでPHPから権限ありの状態でログインできるようになりました。

一応phpmyadminmysqlをインストールするときにいろいろ聞かれて

PASSとか設定したはずなんだけど、その後からでもちゃんと設定し直せますよってこと。

 

とりあえず困ったからブログに残しとく。

 

その他役に立ったサイト:

MySQL/ユーザとDB作成 - MinacoWiki

MySQL の権限のコマンドまとめ。 - Qiita