最近慢慢熟悉了docker,打算将一些开发环境搬迁到docker容器里面便于管理和备份。
docker安装部分就不介绍了,可看官方文档
1.下载mysql镜像
1 | docker pull mysql:8.0 |
下载的版本为8.0的mysql
2. 创建容器
1 | docker run -p 3306:3306 --restart=always -name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0 |
创建容器,将容器的3306端口映射到本地的3306端口,设置为docker启动时容器自启动,命名为mysql,设置数据库密码为root
3.导出本地数据库
将本地mysql的数据库导出为sql文件1
mysqldump -u root -p you_database > you_database.sql
4.将导出的sql文件复制到docker容器里
1 | docker cp you_database.sql mysql:/opt/ |
此时sql文件就到mysql容器里的/opt/路径里面了。
然后进入容器里面操作1
docker exec -it mysql bash
此时就进入到容器里面了,先在容器里面的mysql创建相应的数据库1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16▶ docker exec -it mymysql bash
root@19820b3cb9b8:/# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 8.0.13 MySQL Community Server - GPL
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
create database YOU_DATABASE;
创建完相应的数据库后,就可以导入之前复制到容器里面的sql文件了。1
root@19820b3cb9b8:/# mysql -u root -p YOUDATABASE < /opt/you_database.sql
此时就大功告成了,然后就可以卸载本地的mysql,达成删库跑路成就了。1
2▶ brew remove mysql
Uninstalling /usr/local/Cellar/mysql/8.0.12... (257 files, 233.2MB)