今天又踩坑了,docker中安装的Mysql,但是重启docker之后,mysql的数据都找不回来了。启动时需求挂在到物理盘上才能够持久化。(一直踩坑一直爽)
一、安装Docker
1、更新一下yum下载源。(因为刚刚安装好系统)
yum update
2、下载docker
yum install docker
(详细安装可以参考:https://www.runoob.com/docker/centos-docker-install.html)
3、设置为开机启动
systemctl enable docker
4、启动docker
systemctl start docker
5、查看镜像列表,验证是否正常运行
docker images
6、更换为国内镜像源
vi /etc/docker/daemon.json
添加一下内容
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
7、换完之后就重启docker
systemctl restart docker
二、安装mysql
8、下载镜像
docker pull mysql:5.7
9、外挂的方式运行mysql
sudo docker run -itd --name mysql5.7 -p 3306:3306 -v /home/walter/softwares/tutum-docker-mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD="Wdj@970513" docker.io/mysql:5.7
10、查看mysql容器是否已经启动
docker ps
三、修改mysql访问权限
11、进入MySQL容器内部
docker exec -it mysql5.7 bash
12、登录mysql
mysql -u root -p
13、 修改远程连接权限
// 修改权限(注意一下权限范围大小)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '您的数据库密码' WITH GRANT OPTION;
// 刷新权限
flush privileges;
四、进行持久化的验证
//连接之后对mysql进行一些持久化操作,建库建表

14、停止mysql
docker stop mysql5.7
15、重启docker
docker restart docker
16、以外挂方式执行
docker run -d -p 127.0.0.1:3306:3306 -v /home/walter/softwares/tutum-docker-mysql/data:/var/lib/mysql docker.io/mysql:5.7
以后都是以第16步骤重启就能实现持久化了。
完结。
据说还可以通过镜像的方式进行持久化,这以后再说吧......

本文详细介绍在Docker环境下安装并配置MySQL的过程,包括Docker的安装、设置国内镜像源、MySQL的安装与外挂运行,以及如何通过数据卷实现MySQL数据的持久化保存,确保重启后数据不丢失。
1846

被折叠的 条评论
为什么被折叠?



