{{tag>mysql trucos tips}}
===== 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
==== 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 -p para 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 BDDmysql -uUSERNAME -pPASSWORD mysql
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 ====
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;
==== 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;