导出数据

进入MySQL安装目录下的bin文件夹,并进入cmd中。接着输入指令如下,即可导出某个数据库的所有数据:

1
E:\MySQL Server 5.7\bin>mysqldump -u root -p my_database > D:\backUp.sql
  • 其中,root为用户名,my_database为数据库名,D:\backUp.sql为导出的sql文件

若只导出单张表数据及结构,则可:

1
E:\MySQL Server 5.7\bin>mysqldump -u root -p my_database user > D:\one.sql
  • 其中,user为表名

安装镜像

  • 这里安装mysql5.7的版本,如下:
1
docker pull mysql:5.7

创建实例

  • 执行指令如下
1
docker run -itd --name estimate_mysql5.7 -p 3309:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7

-itd: 这是三个选项的结合:

  • -i 表示交互式操作,通常与 -t(终端)一起使用,以便访问容器的标准输入。
  • -t 分配一个伪终端(pseudo-TTY)。
  • -d 表示在后台运行容器(detached mode)。

--name estimate_mysql5.7: 指定容器的名称为 estimate_mysql5.7,用于标识和管理容器。

-p 3309:3306: 将容器内部的 MySQL 默认端口 3306 映射到主机的 3309 端口。这意味着外部可以通过主机的 3309 端口访问容器中 MySQL 服务。

-e MYSQL_ROOT_PASSWORD=root: 设置 MySQL root 用户的密码为 root。这是通过环境变量 MYSQL_ROOT_PASSWORD 来指定的。

mysql:5.7: 使用的 Docker 镜像名称及其版本标签,这里是 MySQL 5.7 的官方镜像。

导入数据

  • 将导出的sql文件拷贝到容器内:
1
docker cp estimate.sql 3cd4cb71176b:/tmp/estimate.sql
  • 进入容器的bash
1
docker exec -it <container_name_or_id> bash
  • 登录mysql
1
mysql -u root -p
  • 创建数据库
1
CREATE DATABASE estimate;
  • 导入sql数据
1
2
use estimate;
source /tmp/estimate.sql;
  • 两次exit退出