GNU/Linux >> Tutoriales Linux >  >> Linux

Compruebe si existe la base de datos mysql, realice la acción según el resultado

Doy +1 para responder por @chown, pero aquí hay otra alternativa:si el script bash se ejecuta localmente con la instancia de MySQL y conoce la ruta al directorio de datos, puede probar:

if [ -d /var/lib/mysql/databasename ] ; then 
    # Do Stuff ...
fi

Esto también supone que el usuario de shell que ejecuta el script tiene privilegios de nivel de sistema de archivos para leer el contenido de MySQL datadir. Este suele ser el caso, pero no es seguro.


mysqlshow "test" > /dev/null 2>&1 && echo "Database exists."

Dependiendo del estado de salida del comando mysqlshow, ejecutará el siguiente eco.


Script de ejemplo (Gracias a Bill Karwin por el --user y --password ¡comenta!):

#!/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

Así es como se ven los comandos cuando se ejecutan en un aviso:

[[email protected] ~]# mysqlshow myDatabase
Wildcard: myDatabase
+------------------+
|    Databases     |
+------------------+
| myDatabase       |
+------------------+

Si no existe una base de datos, la salida se verá así:

[[email protected] ~]# mysqlshow myDatabase
Wildcard: myDatabase
+-----------+
| Databases |
+-----------+
+-----------+

Luego, analice la salida y haga lo que necesite en función de si existe o no.


Linux
  1. Optimizar la base de datos MySQL

  2. Cómo copiar una base de datos MySQL

  3. Mejorar el almacenamiento en caché de la base de datos MySQL

  4. Conéctese a una base de datos MySQL de forma remota

  5. Importar una base de datos MySQL

Cómo reparar la base de datos MySQL

Cómo hacer una copia de seguridad y restaurar una base de datos MySQL

Copias de seguridad de bases de datos MySQL con secuencias de comandos

Cómo comprobar una base de datos MySQL en busca de errores en cPanel

Cómo verificar los privilegios de usuario de MySQL en Linux

Servidor de base de datos MySQL