Reputation: 1089
I'm using docker-compose to run MYSQL container and linking it to www-server
mysql:
image: mysql
container_name: lip-mysql
ports:
- "3030:3306"
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=user-db
- MYSQL_USER=user
- MYSQL_PASSWORD=user
volumes:
- ./etc/mysql:/var/lib/mysql
When I'm running it on my own computer and want to tranfer it to the production. I do this
How I should move my mysql data to new environment?
Upvotes: 2
Views: 3562
Reputation: 1089
Here's the solution what I used.
volumes: - ./etc/mysql:/var/lib/mysql
serverHere is the right docker-compose.yml to start:
mysql:
image: mysql:5.7
container_name: lip-mysql
ports:
- "3030:3306"
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=user-db
- MYSQL_USER=user
- MYSQL_PASSWORD=user
volumes:
- ./etc/mysql:/var/lib/mysql
Upvotes: 0
Reputation: 1653
Can you instead dump your MySQL DB from your computer and restore it to the other environment.
dump DB:
docker exec -it lip-mysql mysqldump --opt -u [uname] -p[pass] [dbname] > [backupfile.sql]
Restore DB:
docker exec -it lip-mysql mysql -u [uname] -p[pass] [db_to_restore] < [backupfile.sql]
Can you also pin the MySQL docker image in your docker-compose file to avoid not-intended MySQL engine updates.
Upvotes: 5