经过探索方法如下:
第一步: 备份原来的数据
使用:mytsqldump
mysqldump -uroot -p -E -R rourDB>dbbak.sql
-E -R 导出所有(结构&数据&存储过程&函数&事件&触发器)
关键的一步:
!!!!!!!!!!删除原来的高版本的数据文件!!!!!!!!!!
否则安装完低版本后,数据库将无法启动,然后陷入困惑!
方法如下:
vim /etc/my.cnf
找到 datadir=/var/lib/mysql, 此即 数据文件位置
删除或者移除 这个目录,例如:
mv /var/lib/mysql /var/lib/mysql30
第二步:卸载8.030
方法如下(均来自网上)
请参考:
https://www.jb51.net/article/263881.htm
使用下面命令查询已经安装的mysql文件
rpm -qa | grep -i mysql
可能如下:
mysql-community-libs-8.0.27-1.el7.x86_64 mysql-community-libs-compat-8.0.27-1.el7.x86_64 mysql-community-common-8.0.27-1.el7.x86_64 mysql-community-client-8.0.27-1.el7.x86_64 mysql-community-client-plugins-8.0.27-1.el7.x86_64 mysql-community-server-8.0.27-1.el7.x86_64
然后用下列命令,逐个删除
rpm -ev mysql-community-libs-8.0.27-1.el7.x86_64
如果出现错误,请加上 --nodeps (即no depends)
rpm -ev --nodeps mysql-community-libs-8.0.27-1.el7.x86_64
总之:不加也可以,但是要先删除依赖项。
第三步: 下载 mysql rpm bundle .并拷贝到 linux /usr/local中(其他也可以,自己定)
地址在oracle网站,如下:
https://dev.mysql.com/downloads/
从历史版本中下载 你需要的版本
就本文而言是
https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.27-1.el7.x86_64.rpm-bundle.tar
第四步:解压 bundle 文件
tar -xvf mysql-8.0.27-1.el7.x86_64.rpm-bundle.tar
第五步:安装
使用如下命令
rpm -i mysql-community-{server-8,client,common,libs}*
第六步:启动mysql , 并修改密码
service mysqld start
密码可以再log里面找到
方法如下:
grep 'temporary password' /var/log/mysqld.log
密码可能有多个,下面那个是最新的
例如:
2021-11-02T04:04:28.850939Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ePEyx?dHS2+X
2021-11-11T00:52:39.627710Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: eO%91<<i-Sla
2022-09-26T03:02:12.604941Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: KppxpM%Bi8?S
至此,降级结束。
ps:如果碰到问题,不要着急,看看日志。
maraSun BJFWDQ