MySQL データベースに関する一連のエラー チェックを行うスクリプトに取り組んでいます。
最初に、ルート認証情報を使用してデータベースが存在するかどうかを確認します。
until [[ ! -z "`mysql -h $dbHost -u $dbRoot -p$mysqlRootPwd -qfsBe "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME='$dbName'" 2>&1`" ]];
次に、同じチェックを使用して、指定されたユーザーが実際にデータベースを使用する権限を持っていることを確認します。
until [[ ! -z "`mysql -h $dbHost -u $dbUser -p$dbPass -qfsBe "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME='$dbName'" 2>&1`" ]];
2 つ目は誤検知で通過しますが、単独で実行した場合はそうではありません。これにより、何らかの理由でルート資格情報をまだチェックしていると思われます。
何か案は?