是否可以从bash脚本中检查mysql数据库是否存在。根据结果​​,然后执行其他操作或终止脚本?

最佳答案

示例脚本(感谢Bill Karwin的--user--password注释!):

#!/bin/bash
## --user=XXXXXX --password=XXXXXX *may* not be necessary if run as root or you have unsecured DBs but
##   using them makes this script a lot more portable.  Thanks @billkarwin
RESULT=`mysqlshow --user=XXXXXX --password=XXXXXX myDatabase| grep -v Wildcard | grep -o myDatabase`
if [ "$RESULT" == "myDatabase" ]; then
    echo YES
fi

这些是在提示符下运行时的命令外观:
[root@host ~]# mysqlshow myDatabase
Wildcard: myDatabase
+------------------+
|    Databases     |
+------------------+
| myDatabase       |
+------------------+

如果不存在数据库,则输出将如下所示:
[root@host ~]# mysqlshow myDatabase
Wildcard: myDatabase
+-----------+
| Databases |
+-----------+
+-----------+

然后,解析输出,并根据输出是否存在执行所需的操作!

关于mysql - 检查mysql数据库是否存在,根据结果执行 Action ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7364709/

10-09 15:19