我正在编写一个脚本,该脚本对 MySQL 数据库进行一系列错误检查。
首先,它使用 root 凭据检查数据库是否存在:
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`" ]];
第二个通过误报,但不是在单独运行时。这让我相信它出于某种原因仍在检查根凭据。
有任何想法吗?