mysql docker source(备份的恢复)
1.把docker外的文件复制到docker文件中
有两种方法可以将本地文件复制到Docker容器中:
- 在Dockerfile中使用
命令将本地文件复制到容器中:COPY
COPY /path/to/local/file /path/inside/container其中,
/path/to/local/file/path/inside/container
- 使用
命令将本地文件复制到运行中的容器中:docker cp
docker cp /path/to/local/file container_name:/path/inside/container其中,
/path/to/local/filecontainer_name/path/inside/container
2.进入mysql,选择数据库,备份的恢复
把sql的zip文件解压缩,然后复制到docker
sudo docker cp /opt/app/xxx/xxx_20230130.sql 80018a5fe677:/optsudo docker ps(查看msyql的id)
sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a321543650e6 postgres:13.7 "docker-entrypoint.s…" 4 weeks ago Up 2 weeks 0.0.0.0:54137->5432/tcp, :::54137->5432/tcp postgres13.7
f204d8039f90 postgres:14.2 "docker-entrypoint.s…" 5 weeks ago Up 2 weeks 0.0.0.0:54142->5432/tcp, :::54142->5432/tcp postgres14.2
80018a5fe677 mysql:5.7 "docker-entrypoint.s…" 5 weeks ago Up 5 days 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql5.7
9c50c5b0f512 postgres:15 "docker-entrypoint.s…" 4 months ago Up 4 months 0.0.0.0:5532->5432/tcp, :::5532->5432/tcp postgres15
9b5c7a2a4a1d postgres "docker-entrypoint.s…" 5 months ago Up 4 months 5432/tcp elegant_cannon3.进入docker的mysql
sudo docker exec -it 8001 /bin/bash
bash-4.2# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 819
Server version: 5.7.40 MySQL Community Server (GPL)
选择数据库
use xxx;恢复数据:
source /opt/xxx_20230130.sql