Docker安装mysql并导入sql文件

1.在docker中下载mysql,默认下载的是最新版的mysql,可在该指令后追加:tag(tag为具体的mysql版本,若要使用制定版本请指定,如:docker pull mysql:5.7)

docker pull mysql

 2.使用如下命令启动一个MYSQL容器

sudo docker run --name bteye-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306  mysql
  • --name 给容器起个名字(本指令指定容器名字为bteye-mysql)
  • -e 配置信息,此处配置数据库root用户的登陆密码
  • -p 映射端口,将本机3306端口映射到容器的3306端口
  • mysql为image的名字

3.将本地sql文件导入容器

sudo docker cp /opt/a.sql bteye-mysql:/home/tmp/

docker cp 第一个参数指定本地文件或者文件夹,第二个参数指定容器及容器内的目标文件夹 

4.登入容器内MYSQL执行sql

登入容器并登陆mysql

docker exec -it bteye-mysql mysql -uroot -p123456

执行sql文件 

source /home/tmp/a.sql

 

### 将 SQL 文件导入 Docker 中的 MySQL 数据库 为了在 Docker 环境中将 SQL 文件成功导入MySQL 数据库,可以遵循以下方法: #### 方法一:通过 `docker exec` 和命令行工具实现 可以直接进入正在运行的 MySQL 容器利用 `mysql` 命令来加载外部 SQL 脚本文件。这通常适用于较小规模的数据集。 ```bash docker exec -i container_name mysql -u username -ppassword database_name < /path/to/yourfile.sql ``` 此操作会读取指定路径下的 `.sql` 文件通过管道将其内容传递给容器内的 MySQL 实例进行处理[^1]。 #### 方法二:先复制再执行 对于较大体积或复杂结构的 SQL 文件来说,在本地机器上直接向远程服务器传输可能会遇到性能瓶颈。此时建议先把 SQL 文件拷贝至目标 MySQL 容器内部后再做进一步的操作。 使用 `docker cp` 把主机上的 SQL 文件传送到容器的工作目录下: ```bash docker cp /host/path/to/file.sql container_name:/container/path/ ``` 接着切换到该容器环境里调用相应的数据库管理指令完成数据恢复工作: ```bash docker exec -it container_name bash mysql -u user -p db_name </container/path/file.sql exit ``` 这种方法不仅提高了效率还减少了网络延迟带来的影响[^3]。 #### 示例代码展示整个流程 假设有一个名为 `shop_goods.sql` 的文件想要迁移到由 Docker 托管的服务端实例当中去,则具体步骤如下所示: ```bash # 复制 .sql 文件MySQL 容器内 docker cp shop_goods.sql mysql_container:/tmp/ # 登录到 MySQL 容器导入数据 docker exec -it mysql_container bash mysql -uroot -prootpassword my_database </tmp/shop_goods.sql exit ``` 以上就是关于如何在 Docker 环境下把 SQL 文件顺利迁移至 MySQL 数据库存储空间的方法介绍[^4]。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值