{{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;