1

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 つ目は誤検知で通過しますが、単独で実行した場合はそうではありません。これにより、何らかの理由でルート資格情報をまだチェックしていると思われます。

何か案は?

4

1 に答える 1