Copia de mysql de box en local

Publicado en 26 octubre, 2017

Periódicamente hacemos un backup de las tablas de MySQL de producción (actualmente la 100) para posteriormente instanciar un MySQL en el puerto 3307 de vhome para acceder a datos de producción en local.

En hpx1 hay un script en /usr/local/bin/activar_mysql.sh que:

  • Reinicia vhome (necesario para tener los cambios)
  • Ejecuta en vhome el script: new_instance_mysql.sh.

Se inicia la segunda BD en «screen» para que quede en segundo plano. De otra manera no se conseguía desde el host que se mantuviera activa.

 

new_instance_mysql.sh

#!/bin/bash

YELLOW='\033[1;33m'
NC='\033[0m'

port=3307

echo -e "${YELLOW}Permisos...${NC}"
MYSQLBOX=/home/mysqlbox-data
mkdir -p $MYSQLBOX
chown -R mysql:mysql $MYSQLBOX/
mkdir -p /var/log/mysqlbox
chown -R mysql:mysql /var/log/mysqlbox
cp -R /etc/mysql/ /etc/mysqlbox

echo -e "${YELLOW}Cambio cadenas...${NC}"
cd /etc/mysqlbox/
sed -i "s/3306/$port/g" my.cnf
sed -i "s/mysqld.sock/mysqldbox.sock/g" my.cnf
sed -i "s/mysqld.pid/mysqldbox.pid/g" my.cnf
sed -i "s/var\/log\/mysql/var\/log\/mysqlbox/g" my.cnf
sed -i "s/home\/mysql-data/home\/mysqlbox-data/g" my.cnf

echo -e "${YELLOW}Durmiendo 5s...${NC}"
sleep 5

echo -e "${YELLOW}Inicializando MySQL...${NC}"
mysql_install_db --user=mysql --datadir=$MYSQLBOX/
SCREEN='new_instance_mysql'
screen -dmS $SCREEN sh; screen -S $SCREEN -X stuff "mysqld_safe --defaults-file=/etc/mysqlbox/my.cnf\n"
echo -e "${YELLOW}MySQL cargado...${NC}"


Sin respuestas to "Copia de mysql de box en local"


    ¿Algo que comentar?