导出宝塔MySQL数据库到Docker容器
背景
- 对接项目,需要在本地复制一套数据库,以便快速测试与开发
- MySQL 开发过程,有时候会因为断电而导致数据库裂开而无法打开。去查阅资料,却无法解决的情况下。难受o(╥﹏╥)o
思路
- 使用宝塔页面,备份SQL并且下载SQL下来
- 复制SQL到doker容器中
- 导入到数据库中
步骤
- 登入宝塔备份并下载 SQL 文件。假设文件名为"数据库.sql"
- 使用
docker ps
查看 docker 容器ID,假设为 “MySQL容器ID” - 复制 SQL 到 MySQL容器中,如
docker cp 数据库.sql MySQL容器ID:/var/数据库.sql
- 登入容器
docker exec -it MySQL容器ID bash
- 登入数据库系统,如
mysql -uroot -proot
- 进入数据库,如
use 数据库名字
- 最后一步,导入数据库文件即可,如
source /var/数据库.sql
。
提示
- 日常使用 Navicat 开发,这个软件上也有同步功能,但是当数据多的时候,容易变成一种卡死状态。有时导入完后,提示导入错误
- 使用步骤中的命令行模式,可以有效减少上面问题,并且数据还贼快