1. docker拉取mysql5.7
`docker pull mysql:5.7`
2.设置保存mysql数据库的外部文件夹
在/root
路径下新建文件夹mysql
路径
├── mysql
│ ├── conf
│ │ └── my.cnf
│ ├── data
│ │ └── mysql
│ └── logs
3. 启动mysql5.7
docker run --name mysql5.7 \
-p 3306:3306 \
-v /root/mysql/conf/:/etc/mysql/ \
-v /root/mysql/logs:/logs \
-v /root/mysql/data/mysql:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=数据库密码 镜像id或名称
注
意
:
第
一
次
运
行
m
y
s
q
l
镜
像
时
,
数
据
库
密
码
是
启
动
命
令
中
设
置
的
M
Y
S
Q
L
R
O
O
T
P
A
S
S
W
O
R
D
的
值
。
\color{red}{注意:第一次运行mysql镜像时,数据库密码是启动命令中设置的MYSQL_ROOT_PASSWORD的值。}
注意:第一次运行mysql镜像时,数据库密码是启动命令中设置的MYSQLROOTPASSWORD的值。
但
是
当
第
二
次
重
新
生
成
m
y
s
q
l
容
器
时
,
如
果
还
是
使
用
同
样
的
映
射
路
径
,
那
么
,
第
二
次
的
设
置
的
密
码
不
能
成
为
数
据
库
连
接
的
密
码
,
真
实
的
密
码
还
是
数
据
库
文
件
中
上
一
次
的
密
码
。
\color{red}{但是当第二次重新生成mysql容器时,如果还是使用同样的映射路径,那么,第二次的设置的密码不能成为数据库连接的密码,真实的密码还是数据库文件中上一次的密码。}
但是当第二次重新生成mysql容器时,如果还是使用同样的映射路径,那么,第二次的设置的密码不能成为数据库连接的密码,真实的密码还是数据库文件中上一次的密码。
二
次
安
装
(
新
容
器
,
老
映
射
路
径
)
,
这
相
当
于
数
据
库
的
整
体
备
份
后
的
还
原
!
!
\color{red}{二次安装(新容器,老映射路径),这相当于数据库的整体备份后的还原!!}
二次安装(新容器,老映射路径),这相当于数据库的整体备份后的还原!!