
Docker快速搭建MySQL测试环境
大约 2 分钟
Docker快速搭建MySQL测试环境
作为测试工程师,我们经常需要快速搭建独立的数据库环境进行测试。Docker就像是一个魔法盒子,能够瞬间为我们变出一个干净的MySQL环境,再也不用担心测试数据污染生产环境了!
快速搭建MySQL容器
第一步:搜索和拉取MySQL镜像
# 搜索MySQL镜像(可选)
docker search mysql
# 拉取MySQL 5.7版本(推荐用于测试环境)
docker pull mysql:5.7
# 查看已下载的镜像
docker images第二步:启动MySQL容器
# 启动MySQL容器
docker run --name mysql_test_env \
-p 3307:3306 \
-v ~/test_data/mysql:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=test123456 \
-d mysql:5.7
# 查看容器运行状态
docker ps💡 参数说明:
--name mysql_test_env:给容器起个好记的名字-p 3307:3306:端口映射,避免与本地MySQL冲突-v ~/test_data/mysql:/var/lib/mysql:数据持久化-e MYSQL_ROOT_PASSWORD=test123456:设置root密码-d:后台运行
第三步:进入容器配置数据库
# 进入MySQL容器
docker exec -it mysql_test_env /bin/bash
# 连接MySQL
mysql -uroot -p
# 输入密码:test123456第四步:创建测试数据库和用户
-- 查看现有数据库
SHOW DATABASES;
-- 创建测试数据库
CREATE DATABASE test_automation_db DEFAULT CHARSET=utf8mb4;
CREATE DATABASE api_test_db DEFAULT CHARSET=utf8mb4;
-- 创建测试专用用户
CREATE USER 'test_user' IDENTIFIED BY 'test_password';
-- 授权测试用户访问测试数据库
GRANT ALL PRIVILEGES ON test_automation_db.* TO 'test_user'@'%';
GRANT ALL PRIVILEGES ON api_test_db.* TO 'test_user'@'%';
-- 刷新权限
FLUSH PRIVILEGES;
-- 退出MySQL
EXIT;
-- 退出容器
exit🎯 测试工程师最佳实践:
- 为不同的测试项目创建独立的数据库
- 使用专门的测试用户,避免使用root
- 定期清理测试数据,保持环境整洁
数据库如何迁移
mysqldump -uroot -p123 luffy > ~/Desktop/luffy.sql
mysql -uroot -p123456 -h10.248.146.131 -P3306 luffy < ~/Desktop/luffy.sql