Amazon linuxで、mysqlをyumからインストールした際に、ルートのパスワード変更が出来なくて困ったのでそれの対処法です。
以下のコマンドでmysqlインストールを実行した際に、
sudo yum install mysql56-server mysql56-devel mysql56
以下のメッセージが表示がされていましたが、インストールはうまくいってそうな感じだったのでそのまま突進しました。
Failed to set locale, defaulting to C
そして、service mysqld start
で立ち上げたら、初期設定に関するメッセージが出てきて、まずはパスワードを設定せよと記載があったので以下のコマンドを実行しました。
/usr/libexec/mysql56/mysqladmin -u root password 'new-password'
そしたら以下のエラーメッセージが発生してパスワード変更もできず。。。
/usr/libexec/mysql56/mysqladmin: unable to change password; error: 'Can't find any matching row in the user table'
やったこと
1./etc/environmentに以下を追加
LANG=en_US.utf-8
LC_ALL=en_US.utf-8
2.source /etc/environmentを実行
3.いったんmysqlをアンインストール
sudo yum remove mysql56-server mysql56-devel mysql56
# rm -rf /var/lib/mysql #データが入っているフォルダも削除
4.再度インストール
sudo yum install mysql56-server mysql56-devel mysql56
以上です。
追記:
以下、参考にしたサイト
http://qiita.com/Kaisyou/items/9c2c5f5e1b28c24e91b7
http://qiita.com/rojiuratech/items/80dda65d832b407322f1
http://kajuhome.com/patio_thread/1009.shtml