mysql再docker中运行,直接在实体机上运行mysql命令初始化数据库数据

背景

项目上我们使用docker安装mysql,项目启动的时候需要利用sql语句初始化数据。

直接在实体上是识别不到mysql命令的。

实现方式

实现方式1:在docker容器内部执行sql语句

1. 将sql文件上传到容器内

docker cp /root/1.sql d5:/home/

说明:将Linux实体机上指定位置1.sql文件拷贝至容器内部/home位置。 d5为mysql容器id,当然此处也可以用容器的名称,比较方便好记。

 

 出现上图说明拷贝成功

2. 进入mysql容器内部查看文件是否已经存在 

docker exec -it d5 /bin/bash

mysql再docker中运行,直接在实体机上运行mysql命令初始化数据库数据_第1张图片

先进入容器

再查看根目录下存在哪些目录

进入/home路径

输入ls命令查看文件:发现1.sql文件已经拷贝进来了

3. mysql登录,执行sql文件 

#登录mysql,-u用户名,-p密码
mysql -uroot -p123456;  
#选择mysql数据库
use mysql;  

 登录mysql

mysql再docker中运行,直接在实体机上运行mysql命令初始化数据库数据_第2张图片

 查看数据库: show database;

mysql再docker中运行,直接在实体机上运行mysql命令初始化数据库数据_第3张图片

 切换数据库 


实现方式2:容器外执行sql

docker exec -i d5 mysql -uroot -proot mysql < /root/1.sql;


比较简单,执行一句命令即可。d5是容器id,当然此处也可以用容器的名称,比较方便好记

你可能感兴趣的:(数据库,mysql,docker)