MySQL – Tips

Categoria:

Tamaño de las bases de datos

SELECT table_schema "Base de Datos", SUM( data_length + index_length ) / 1024 / 1024 "Tamaño en MB" FROM information_schema.TABLES GROUP BY table_schema;

Tamaño de tablas de las bases de datos

SELECT table_schema as `Database`, table_name AS `Table`, round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB` FROM information_schema.TABLES ORDER BY (data_length + index_length) DESC ;

Tamaño de tablas de una bases de datos

SELECT table_schema as `Database`, table_name AS `Table`, round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB` FROM information_schema.TABLES WHERE table_schema='${database}' ORDER BY (data_length + index_length) DESC ;

Backups de todas las bases de datos separadas

for DB in `mysql -e "show databases" -u USUARIO -pPASSWORD | grep -v Database`; do mysqldump -u USUARIO -pPASSWORD $DB > "$DB.sql"; done

Listado de usuarios de MySQL

mysql -B -N -uroot -p -e "SELECT CONCAT('\'', user,'\'@\'', host, '\'') FROM user WHERE user != 'debian-sys-maint' AND user != 'root' AND user != ''" mysql > mysql_all_users.txt

Obtener los permisos de los usuarios y añadirles «;» al final de la linea

while read line; do mysql -B -N -uroot -p -e "SHOW GRANTS FOR $line"; done < mysql_all_users.txt > mysql_all_users_sql.sql
sed -i 's/$/;/' mysql_all_users_sql.sql