5.7からパッケージを入れた直後のrootのパスワードになるやつです。スクリプトから使いたい時にでもご利用ください。
$ sudo grep 'temporary password' /var/log/mysqld.log | sed -e "s/.*root@localhost: //"
5UGYEVdG)_g,
$ mysql -u root -p'5UGYEVdG)_g,'
mysql>
mysqlコマンドから流す場合は--connect-expired-password
をつけないと失敗するっぽいので、以下の様な感じにするといいかも。
password_update.sh
TEMP_PASS=`sudo grep 'temporary password' /var/log/mysqld.log | sed -e "s/.*root@localhost: //"`
UPDATE_SQL="SET PASSWORD FOR root@localhost=PASSWORD('newpassword');"
mysql -u root -p"${TEMP_PASS}" -e "${UPDATE_SQL}" --connect-expired-password
しかし毎回毎回、見事に記号入れてくれるのが地味にイラッときます…(エスケープがだるい)