Crear un nueva base de datos con cuotas

Realmente el proceso es el mismo, en este caso o vamos a describir mediante un script que toma como argumentos el nombre de la base de datos y el nombre del grupo y realiza todo el proceso.


#!/bin/bash

# comprobamos una llamada correcta
if [ $# -ne 3 ]
then
        echo "Uso $0 basedatos  grupo
        exit
fi

# comprobamos que el grupo existe
if ! grep "$2:" /etc/group >/dev/null
then
        echo "el grupo no existe"
        # groupadd $2 también podríamos haber creado el grupo aquí
        exit
fi

# creamos la base de datos
mysqladmin -u root create $1

# comprobamos si la operación ha sido correcta
if [ $? -eq 1 ]
then
        echo "No he podido crear la base de datos $1"
        exit
fi

# le asignamos el grupo al directorio de  la base de datos
chgrp $2 /var/lib/mysql/$1

# asignamos el bit SGID al  directorio de  la base de datos
chmod +s /var/lib/mysql/$1

# le asignaamos al grupo las mismas quotas que el usuario prototipobd
edquota -p prototipobd  -g $2

            

Y con esto se supone que hemos creado una base de datos con limitación de espacio de almacenamiento por quotas.