我使用docker-compose运行MYSQL容器并将其链接到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
当我在自己的计算机上运行它并希望将其转移到生产中时。我这样做
我应该如何将我的mysql数据移动到新环境?
答案 0 :(得分:1)
您是否可以从计算机中转储MySQL数据库并将其还原到其他环境。
dump DB:
docker exec -it lip-mysql mysqldump --opt -u [uname] -p[pass] [dbname] > [backupfile.sql]
恢复数据库:
docker exec -it lip-mysql mysql -u [uname] -p[pass] [db_to_restore] < [backupfile.sql]
您是否还可以在Docker-compose文件中固定MySQL docker镜像,以避免不期望的MySQL引擎更新。
答案 1 :(得分:0)
这是我使用的解决方案。
volumes: - ./etc/mysql:/var/lib/mysql
服务器这是开始的正确docker-compose.yml:
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