方法一:一步式命令(推荐)
用管道直接将解压后的SQL内容传递给docker exec命令:
gunzip -c 123pppmysql.sql.gz | docker exec -i mysql-wordpress1 mysql -u root -p"your_password" www.123ppp.com
将SQL文件复制到容器并解压执行
# 将SQL文件复制到容器并解压执行
docker exec -i mysql-rq bash -c 'gunzip -c | mysql -u root -p 123pppmysql' < 123pppmysql.sql.gz
如果密码有特殊字符,需要使用双引号包裹密码
docker exec -i mysql-rq bash -c 'gunzip -c | mysql -u root -p"your_password" 123pppmysql' < 123pppmysql.sql.gz
方法二:分步执行
# 1. 先将文件复制到容器内
docker cp 123pppmysql.sql.gz mysql-rq:/tmp/
# 2. 进入容器
docker exec -it mysql-rq bash
# 3. 在容器内解压并导入(需要输入MySQL密码)
gunzip -c /tmp/123pppmysql.sql.gz | mysql -u root -p 123pppmysql
# 4. 清理临时文件
rm /tmp/123pppmysql.sql.gz
# 5. 退出容器
exit
验证导入结果
# 进入MySQL查看数据库
docker exec -it mysql-rq mysql -u root -p -e "USE 123pppmysql; SHOW TABLES;"
注意事项
-
确保文件路径正确:在运行命令前确认SQL文件在当前目录
-
数据库存在:确保
123pppmysql数据库已存在,如果不存在需要先创建 -
权限问题:确保有足够的权限访问MySQL和Docker容器