Last active
February 10, 2018 20:56
-
-
Save raczajko/251c48eea869635b9b5bd37b6a3a02fb to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
##1. Creamos el dump de la BD MySQL | |
mysqldump -u user -p <db> > <db>.sql | |
##copiamos a la vm donde haremos el cambio | |
scp <db>.sql <user>@192.168.1.254:/home/<user>/ | |
##2. Instalamos docker | |
echo "Descargando DOCKER...." | |
curl -fsSL https://get.docker.com/ | sh | |
sudo service docker start | |
sudo usermod -aG docker $(whoami) | |
### Hecho esto reiniciamos la VM donde acabamos de instalar docker para que el usuario con el que instalamos tenga permisos sobre el servicio | |
##3. Corremos la imagen: | |
## Al salir del contenedor la imagen se autodestruira, solo la usaremos para convertir | |
docker run -it --rm sameersbn/mysql2psql:latest bash | |
##3. Dentro del contenedor (una vez que termine de correr el comando anterior nos dejara sobre bash del contenedor) | |
##Instalacion de mariadb en el contenedor | |
DEBIAN_FRONTEND=noninteractive apt-get update && apt-get -q -y install mariadb-server | |
##Desde otra ventana listamos los contenedores activos | |
docker ps | |
##Y copiamos el archivo sql al contenedor | |
docker cp <db>.sql <contenedor>:/root/ | |
##4. Volvemos a la ventana con el contenedor y Ejecutamos: | |
/etc/init.d/mysql start | |
mysql -u root -p -e “create database <db>"; | |
##Si tenemos algun user en la bd como propietario lo creamos: | |
mysql -u root -p -e "create user 'user'@'localhost'"; | |
mysql -u root -p -e "GRANT ALL on <db>.* to 'user'@'localhost'"; | |
##Restauramos el backup de la BD | |
mysql -u root -p <db> < /root/<db>.sql | |
##4. Creamos el archivo /root/mysql2psql.yml, con el siguiente contenido: | |
########################################################## | |
mysql: | |
hostname: localhost | |
port: 3306 | |
socket: /run/mysqld/mysqld.sock | |
username: root | |
password: | |
database: <db> | |
encoding: utf8 | |
destination: | |
file: /root/<db>-postgresdump.sql | |
########################################################## | |
##5. Corremos el comando para convertir | |
cd ~ && mysql2psql | |
##6. Desde la otra ventana copiamos el dump fuera del contenedor: | |
docker cp <contenedor>:/root/<db>-postgresdump.sql . | |
##7. En la ventana del contenedor escribimos exit para salir. | |
##8.Restauramos la BD migrada: | |
psql -U postgres --dbname <db> -f <db>.sql |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment