公司给程序员安排的任务,升级 mysql ,破公司两个运维也没有,之前没搞过 mysql 升级!1.不知道 mysql 的漏洞去哪下载 经过一顿搜索: www.oracle.com/security-alerts/cpujan2024.html 点击下载,然后输入账号显示让让填写 :*Support Identifier 这个有填不上正确的值 Connect your User Account Next We need to connect your user account to a Support Identifier. Access and privileges are approved by an Administrator in your organization. You need to add at least one Support Identifier to proceed. 2.我已经我能为力了 恳求大佬帮忙,小弟能力有限

按我的理解升级漏洞就是从 8.0.22 升级到 8.0.x 的新版本上,没有补丁/漏洞升级这一说

谢谢哥 好像是 没有小版本的补丁包,mysql8.0.22 需要进行小版本的升级

要升级版本,一般没有单独的补丁包的

去年我们上一个新项目,用了当时最新版的 mysql ,结果安全部门漏洞扫描一堆问题,要求修复我查了一下,好几个漏洞修复补丁要付费订阅官方的服务才能下载,申请公司购买服务,结果不了了之。。。。

没有补丁的,直接重新编译一套新的然后数据迁移。

downloads.mysql.com/archives/community/ 这里下载 8.0.37 的安装包或二进制文件,包安装一般备份好数据直接升级就行,二进制不清楚。更简单的方法是部署个新的,数据导入过去。

这货貌似就只能部署套新的,数据迁移过去了。尽量别覆盖安装,有风险。

数据量太大了 部署新的话 光数据专业就花费很多时间,大佬,可以再原先的基础上升级吗,不用做数据迁移的

大佬你们最后没有升级吗,怎么才能不迁移数据,直接迭代版本呢

嗯嗯 谢啦

大佬 数据迁移之前 用什么方式备份 dump 吗

你直接装不就完了,数据目录一般是单独挂载的吧…如果是 docker 安装的比较简单

这样得卸载原来的版本了啊

当时搭建的时候不是我,看了一下架构 2 个 mycat 4 个 mysql ,重新装了 是不是于 mycat 的配置信息也要重新配置呢

#9 最后我们没有升级,我们也从来没有通过安装补丁或者升级包的方式升级过 mysql

也可以,不过得停机,记住一定要做好备份,文档在这里 dev.mysql.com/doc/refman/8.0/en/upgrading.html ,8.0.x 小版本包安装就是直接升级包。二进制可以考虑直接替换文件再启动。

谢谢大佬

你小版本升级的话,MySQL 配置文件应该是兼容的,理论上不需要重新配置,不过你最好备份一下,避免手残覆盖了。不要生产环境直接操作,先找个地方练练手。

先做好全量的物理备份,可以使用 xtrabackup ,然后拉一个高版本的实例,进行全量备份恢复,确保数据无误,这段时间的增量数据可以通过复制同步进行同步,没问题的话再做实例切换。尽管是小版本升级,mysql8.0 从实践看看小版本间有些也存在一些问题,务必做好备份。

最好备份一下数据(直接拷贝备份 MySQL 的数据文件夹就行)从低版本升级高版本 MySQL ,会自动升级 MySQL 的数据的,直接替换程序运行就行。我用 docker 运行的 MySQL(数据文件夹外置),升级高版本直接删掉原先的容器,然后开一个新的容器就行。日志里面会有升级的提示,如果数据量大,可能会跑一会儿( 8.0.x 升级 8.4LTS )

你问的可以再具体点,8.0.22 现在也不是多新的版本浪了,肯定被大部分人踩过了,有漏洞,具体是什么漏洞?知道具体是啥漏洞,才能看看是能通过参数调整能修补的,还是只能通过升级高版本来解决,升级的话,要不就原地二进制替换,这种方式的话,用于大版本相同小版本系列升级比较适合;要不就 mysqldump 逻辑导出工具升级。具体可以参考这里: dev.mysql.com/doc/refman/8.0/en/upgrading.html最重要的一点:升级前先备份。