meta data de esta página
¡Esta es una revisión vieja del documento!
Trucos para MySQL
Copia de seguridad de una base de datos en mysql
mysqldump -u root -p base_de_datos>copia.sql
Realizar una copia de seguridad de todas las bases de datos
mysqldump -u root -p --all-databases > copia.sql
Realizar una copia de seguridad de una tabla de una base de datos
mysqldump -u root -p base_datos tabla > fichero.sql
para restaurarla
mysql -p base_de_datos<copia.sql
Mysqlcheck
Opciones más usadas en mysqlcheck
-c, –check | comprueba una tabla |
-a, –analyze | Analiza la tabla |
-o –optimize | Optimiza la tabla |
-r, –repair | Repara problemas en la tabla |
–auto-repair | Comprueba la tabla y la repara si está erronea |
-A, –all-databases | Comprueba todas las bases de datos |
-B, –databases | Procesa todas las tablas de una base de datos |
-g, –check-upgrade | Comprueba los cambios en las dependencias al cambiar de versión |
Reparar todas las BDD
mysqlcheck -u root -p –-all-databases -r
Actualizar BDD
Si hemos actualizado mysql a una nueva versión debemos ejecutar
mysql_upgrade -u root -ppara actualizar el estado de tu base de datos a la nueva versión de MySQL.
Para conectarnos remotamente a myslq
Existe varios programas para administrar remotamente una bases de datos mysql. Uno de ellos es mysqlcc http://sourceforge.net/projects/mysqlcc/
Antes que nada para poder conectarnos tenemos que dar permisos al usuario en la BDD. Para ello Nos conectamos localmente a la BDD
mysql -uUSERNAME -pPASSWORD mysql<code> <code> mysql> grant all on * to 'USERNAME' identified by 'PASSWORD';
O bien si queremos darle permisos a una bases de datos en particular desde un equipo en particular
GRANT ALL ON basededatos.* TO usuario@'ipmaquinaremota' IDENTIFIED BY 'PASSWORD';
Solucionar error connecting to database: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
Para solucionar dicho error hay que borrar los siguientes ficheros :
rm /var/lib/mysql/ib_logfile0 rm /var/lib/mysql/ib_logfile1
Saber el tamaño de las tablas
<sxh>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) ASC;</sxh>
Saber cuales hacen uso del motor innoDB
SELECT COUNT(1) EngineCount,engine FROM information_schema.tables WHERE table_schema NOT IN ('information_schema','performance_schema','mysql') GROUP BY engine;