Cargando...

Separa como necesites una base de datos con mysqldumpsplitter

Hoy he tenido qué subir la base de datos de un periódico y la maquina no daba para subirla. Cuando intentaba hacerlo directamente por SSH me daba el siguiente error.

ERROR 2006 (HY000): MySQL server has gone away

Lo primero qué hice fue cambiar al configuración del my.cnf para arreglarlo y subirlo de golpe. El problema fue que la CPU y la RAM se dispararon colapsando al maquina. 

Una solución efectiva sería tener una sola maquina para la base de datos suficiente potente. Por desgracia y por eso no suelo tener clientes, es qué no siempre tenemos lo necesario, así que toca hacer soluciones y en este caso, fue separar la base de datos en tablas para poder subirlo. 

Descargar mysqldumpsplitter en nuestro servidor

wget https://raw.githubusercontent.com/kedarvj/mysqldumpsplitter/master/mysqldumpsplitter.sh

Una vez descargado, simplemente tenemos que escoger la opción que nos interesa y ejecutar el comando.

Extraer una base de datos de un fichero con varias bases de datos

sh mysqldumpsplitter.sh --source filename --extract DB --match_str database-name

Extraer una tabla de una base de datos

sh mysqldumpsplitter.sh --source filename --extract TABLE --match_str table-name

Separar las bases de datos de un fichero con todas las bases de datos

sh mysqldumpsplitter.sh --source filename --extract ALLDBS

Separar todas las tablas de una base de datos

sh mysqldumpsplitter.sh --source filename --extract ALLTABLES


Realmente mysqldumpsplitter tiene muchas más opciones, pero lo mejor es qué las veais en el github.

Ir al Github

Sobre Mí

Sobre mi
Soy una persona muy inquiera, me gusta programar y frikear con cosas muy diferentes. Troll de profesión.