うまいぼうぶろぐ

linuxとhttpdとperlのメモ

big-ip のMySQL root password をぶっこ抜く

いらんことするとサポート対象外になりそうだけど。検証用VE版なのでやりたい放題で。

mysqlのroot passwordはおそらくbigip毎にrandomに設定される。
が、謎のmysqlのsh(mysqlはログ、APMのユーザ情報などが入っていて、クラスタ間で同期するシェル?)
/usr/libexec/localdb_mysql_restore.shのシェルを見ると

#!/bin/bash

BACKUP_FILE="/var/apm/localdb/mysql_bkup.sql"
MYSQL_PW=`perl -MPassCrypt -nle \
    'print PassCrypt::decrypt_password($_)' /var/db/mysqlpw`
MYSQL="/usr/bin/mysql -uroot -p${MYSQL_PW} f5authdb"

exec ${MYSQL} < ${BACKUP_FILE}

とあるので

perl -MPassCrypt -nle \
  'print PassCrypt::decrypt_password($_)' /var/db/mysqlpw

を実行するとpasswordでてきますね。