tsunamink 发表于 2023-5-1 23:37:58

【已完成】想知道把MYSQL5.7切换成8.0的标准步骤

为了能快速了解并处理您的问题,请提供以下基础信息:面板、插件版本:LINUX 面板 7.9.9LNMP

系统版本:CentOS7.9.2009 x86_64(Py3.7.9)
问题描述:想知道从MYSQL 5.7 切换到MYSQL 8.0的过程

目前MYSQL版本为5.7,是当初安装宝塔的时候安装的版本,2年下来一直没有升级或者切换过,我现在想切换为8.0版本,服务器内存足够,是不是应该如下过程,请指教:

1、停止MYSQL,然后稍等几分钟;
2、宝塔面板左侧的数据库菜单内点击备份;



3、备份完毕后:是应该先在软件商店内“卸载”5.7、然后安装8.0版本的MYSQL;还是直接在软件商店内直接点击“更新”?



4、操作完毕后在宝塔左侧数据库菜单内添加新的空数据库、然后导入先前备份的数据库?





因为数据无价、服务器也不能轻易停机,所以想搞清楚了,避免麻烦。


麻烦指点一下,万分感谢!









宝塔用户_xfctrj 发表于 2023-5-2 03:13:10

1.数据库如果不大可以多备份几个。数据库备份可以不用停。
2.备份完成之后删数据库(可以记录原先数据库账号和密码),然后在应用商店找数据库直接切换版本
3.创建数据库,输入之前的数据库名和密码,导入数据库即可。
4.如果是云服务器做个快照,出问题回滚。不是云服务器就要注意网站备份。

运维小林q3030251644 发表于 2023-5-2 12:52:05

本帖最后由 堡塔运维小林 于 2023-5-2 12:53 编辑

您好,升级步骤如下
1、先为您的数据库备份,备份的时候要确保没有数据写入,然后把备份好的数据库下载到本地或者其它服务器上,防止数据丢失,有条件的可直接对服务器做磁盘快照,这里是备份好数据再停止数据库,因为面板上的备份是使用mysqldump命令备份,需要数据库在运行
2、备份好数据之后,停止数据库,稍等几分钟再卸载
3、安装8.0版本的MYSQL
4、操作完毕后在宝塔左侧数据库菜单内添加新的空数据库、然后导入先前备份的数据库
这样就可以升级成功了,不过要确保您mysql5.7中的数据在mysql8中也是兼容的,有时候两个版本之间的数据结构等还是有点差异,您事先可以用个测试机器安装mysql8,再导入mysql5.7的数据,看看是否能兼容。您在面板上升级好mysql8之后,导入数据,如果数据导入不全或者失败,先恢复到mysql5.7,然后测试好之后再升级

建议在您深夜等访客较少的时候升级。
升级过程中会重启数据库、如数据库原本存在表损坏等情况的话,
将会导致重启失败甚至数据丢失、务必做好数据库备份校验数据完整性后再进行升级。
如果您做了备份还不放心,建议您前往服务器商家控制台做个服务器快照,可随时回滚。

tsunamink 发表于 2023-5-2 17:57:29

堡塔运维小林 发表于 2023-5-2 12:52
您好,升级步骤如下
1、先为您的数据库备份,备份的时候要确保没有数据写入,然后把备份好的数据库下载到本 ...

好的,万分感谢,我会做好快照备份,如果实际操作中遇到问题再向您请教,谢谢。

运维小林q3030251644 发表于 2023-5-2 18:11:24

tsunamink 发表于 2023-5-2 17:57
好的,万分感谢,我会做好快照备份,如果实际操作中遇到问题再向您请教,谢谢。 ...

好的

tsunamink 发表于 2023-5-10 12:10:34

堡塔运维小林 发表于 2023-5-2 18:11
好的

你好,昨晚试着升级了一下,反复试了2次,遇到以下几个问题:

第一次:


1、备份数据库的时候,MYSQL不能停,只能关闭网站,然后才能在宝塔的数据库菜单内进行备份操作;

2、备份后、快照,然后删除现有数据库,并且在回收站内清空,接着卸载5.7,编译安装8.0;

3、在8.0内创建同名数据库、设置一样的用户名和密码;

4、在宝塔的数据库菜单内点击“导入”先前的gz文件,结果显示导入成功,但我发现表文件不全,DISCUZ也运行数据库出错,仔细看了一下数据库总的大小只有549M,文件只有89个,这个肯定不对,反复删除、导入几次,结果都一样,因为服务器上有3个网站,其他2个网站的数据库只有几十M,导入却一切正常;







无奈之下,我认为可能是之前5.7下备份的时候出了问题,所以快照回去,进行了第二次尝试:

1、先备份数据库,这次备份下来我后我双击GZ文件(和第一次备份一样:大小同样是1.6G左右)解压了一下,解压后的sql文件大概4.5G;

2、随后删除原有数据库,清空回收站,直接在5.7内尝试导入这个GZ文件,结果大跌眼镜,连试了几次,每次都显示导入成功,但数据库进去看却是空表,什么表都没有,原因不知道;

3、直接切记到8.0,过程就是安装8.0,一切正常;

4、在8.0下导入先前的gz文件,和第一次一样导入后显示只有89个文件,数据库大小只有549M,我反反复复试了多次,一样的结果。



幸亏阿里云快照了,不然这次就惨了,庆幸啊,流程大概就是如此,是什么地方我错误操作了吗?挺奇怪的,麻烦你们帮我看看,谢谢啦。










tsunamink 发表于 2023-5-10 13:28:20

忘记说了,在5.7下删除数据库时警告中看到正常的数据库在没有压缩打包前整个的大小约9.3G,就这个大的数据库恢复的时候会出问题,其他2个小的几十M的正常的。





运维小林q3030251644 发表于 2023-5-10 14:57:28

tsunamink 发表于 2023-5-10 13:28
忘记说了,在5.7下删除数据库时警告中看到正常的数据库在没有压缩打包前整个的大小约9.3G,就这个大的数据 ...

您好,您使用phpmyadmin备份、导入数据看看是否正常,另外在命令行中使用命令备份、导入看看,有些可能是表结构问题导致的备份、导入不全

tsunamink 发表于 2024-3-7 22:08:51

堡塔运维小林 发表于 2023-5-10 14:57
您好,您使用phpmyadmin备份、导入数据看看是否正常,另外在命令行中使用命令备份、导入看看,有些可能是 ...

谢谢指点,时隔差不多一年了,前阵子有时间总算从5.7升级到了8.0

的确最后用的mysqldump才能完整备份,宝塔内附带的数据库备份功能还是无法完整备份下来,原因不明。

此贴关闭。
页: [1]
查看完整版本: 【已完成】想知道把MYSQL5.7切换成8.0的标准步骤