docker版MySQL升级
docker版MySQL8.0.20升级到8.0.22,为了稳妥起见,先备份数据库。cp -rf mysql mysqlbak停止旧的mysql容器docker stop mysql8.0.20-test拉取新的docker pull mysql:8.0.22启动新的docker run --name=mysql8.0.22-test \-p 3306:3306 \--privileged=tru
·
MySQL8.0.20 升级到8.0.22
docker版MySQL8.0.20升级到8.0.22
停止旧的mysql容器
docker stop mysql8.0.20-test
为了稳妥起见,先备份数据库。
cp -rf mysql mysqlbak
拉取新的
docker pull mysql:8.0.22
启动新的
docker run --name=mysql8.0.22-test \
-p 3306:3306 \
--privileged=true \
--mount type=bind,src=/data/mysql/config/my.cnf,dst=/etc/my.cnf \
--mount type=bind,src=/data/mysql/data,dst=/var/lib/mysql \
--restart=always \
-d mysql:8.0.22
重新启动完成升级
docker restart mysql8.0.22
按照官网说法,对于8.0.15及之前的版本,需要执行一下升级程序。然后再重新启动容器完成升级
docker exec -it mysql80 mysql_upgrade -uroot -p
其中密码为旧版本的root密码。升级完成后再重启容器。
MySQL5.7.32升级到MySQL8.0.22
对于5.7升级到8,查看了官网关于升级的操作,有篇文章必须要看,另外升级之前必须要备份
我做了一个测试,docker启动mysql5.7.32.然后进行升级
升级完毕restart。升级到8.0.22后可以正常使用。配置比较少。
个人感觉需要先阅读官网的文章,MySQL升级篇。写的很详细。摘取一点。另外注意不能跨版本升级
如果你是5.7.1x或者5.7.2x。建议先升级到5.7.3x。多读读官网还是有很好的帮助效果。虽然都是英文,不过Google浏览器可以翻译啊。官方链接
先拉取两个版本的镜像
docker pull mysql:5.7.32
docker pull mysql:8.0.22
创建5.7容器
docker run --name=mysql5.7.32 \
-p 3306:3306 \
--privileged=true \
--mount type=bind,src=/data/mysql/conf/my.cnf,dst=/etc/my.cnf \
--mount type=bind,src=/data/mysql/data,dst=/var/lib/mysql \
--restart=always \
-e MYSQL_ROOT_PASSWORD=DX_xx1234 \
-d mysql:5.7.32
navicat连接创建数据库导入数据。使用没问题,数据库备份一下,预防升级失败
开始升级。
停止旧的容器
docker stop mysql5.7.32
升级容器
docker run --name=mysql8.0.22 \
-p 3306:3306 \
--privileged=true \
--mount type=bind,src=/data/mysql/conf/my.cnf,dst=/etc/my.cnf \
--mount type=bind,src=/data/mysql/data,dst=/var/lib/mysql \
--restart=always \
-d mysql:8.0.22
重启,确保升级正常
docker restart mysql8.0.22
navicat 连接,已变成8.0.22版本
更多推荐
已为社区贡献1条内容
所有评论(0)