MySQL Docker Compose mysql 导入 .sql
在使用MySQL进行开发或运维时,经常需要导入.sql文件进行初始化或更新操作。使用Docker Compose来快速搭建MySQL环境,并导入.sql文件可以极大提高工作效率。
阅读更多:MySQL 教程
安装Docker
首先需要安装Docker,以便能够部署MySQL的Docker镜像。请按照官方文档进行安装:https://docs.docker.com/engine/install/
编写Docker Compose文件
Docker Compose使用YAML格式,可以通过编写一个docker-compose.yml文件来定义MySQL容器的配置信息。
示例:
version: '3'
services:
db:
image: mysql:8.0.26
restart: always
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: testdb
ports:
- 3306:3306
volumes:
- ./mysql/scripts:/docker-entrypoint-initdb.d
- ./mysql/data:/var/lib/mysql
上述示例定义了一个MySQL容器,并将本地的./mysql/scripts目录挂载到容器的/docker-entrypoint-initdb.d目录,用于存放需要导入的.sql文件;将./mysql/data目录挂载到容器的/var/lib/mysql目录,用于数据持久化存储。
导入.sql文件
将需要导入的.sql文件复制到./mysql/scripts目录下,Docker Compose将会在MySQL容器启动后自动执行该目录下所有以.sql结尾的文件。
示例:
我们可以在./mysql/scripts目录下放置一个db.sql文件,其中包含如下SQL语句:
CREATE TABLE `users` (
`id` INT(11) NOT NULL,
`name` VARCHAR(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
INSERT INTO `users` (`id`, `name`) VALUES
(1, 'Alice'),
(2, 'Bob'),
(3, 'Charlie');
启动MySQL容器:
docker-compose up -d
Docker Compose会自动执行./mysql/scripts目录下的db.sql文件,并将其中的数据导入到MySQL容器中,你可以使用MySQL客户端进行查询验证。
总结
使用Docker Compose来搭建MySQL环境,并导入.sql文件可以大大提高工作效率,同时还能避免环境配置不一致的问题。记得将数据持久化,确保数据的安全性。
极客笔记