centos7 mysql5.7.37升级到8.0.30

为了解决mysql的安全漏洞,选择将mysql从5.3.7升级到8.0.30

还是写上5.7.37的安装步骤:centos7安装mysql5.7.37详细步骤_lanren312的博客-CSDN博客

参考博客: linux中安装卸载升级mysql版本步骤(由8.0.27升8.0.29)_Lightllll的博客-CSDN博客_linux mysql 升级安装

一、备份数据(很重要!很重要!很重要!)

mkdir /lanren312/mysqlback
mysqldump -u root -p --all-databases > /lanren312/mysqlbackup/mysqlbackup_20220919.sql
输入mysql密码

## 备份某一个库
mysqldump -u root -p dev_heroes > /lanren312/mysqlbackup/dev_heroes.sql

## 导入某一个库
mysql -u root -p prod_heroes < /lanren312/mysqlbackup/dev_heroes.sql
ps:好像是没有显示,千万不要手贱乱按其他键(本人没试过,猜测),如果文件很大,多等会就行了

二、下载解压mysql8.0.30

下载地址: MySQL :: Download MySQL Community Server

tar -xvf mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar 

三、卸载原有的mysql(卸载前请先确认数据是否备份成功)

systemctl stop mysqld 停止mysql服务
rpm -qa|grep mysql  查看以前是否装有mysql

rpm:管理套件  -e:删除指定的套件  --nodeps:不验证套件档的相互关联性        
rpm -e --nodeps mysql-community-libs-5.7.37-1.el7.x86_64
rpm -e --nodeps mysql-community-server-5.7.37-1.el7.x86_64
rpm -e --nodeps mysql-community-libs-compat-5.7.37-1.el7.x86_64
rpm -e --nodeps mysql-community-client-5.7.37-1.el7.x86_64
rpm -e --nodeps mysql-community-common-5.7.37-1.el7.x86_64

find / -name mysql
rm -rf /var/lib/mysql  删除老版本mysql的所有文件和库
rm -rf /etc/my.cnf   手动删除my.cnf
rpm -qa|grep -i mysql 查看状态

 四、安装

rpm -hiv mysql-community-common-8.0.30-1.el7.x86_64.rpm 
rpm -hiv mysql-community-client-plugins-8.0.30-1.el7.x86_64.rpm 
rpm -hiv mysql-community-libs-8.0.30-1.el7.x86_64.rpm
rpm -hiv mysql-community-client-8.0.30-1.el7.x86_64.rpm 
rpm -hiv mysql-community-icu-data-files-8.0.30-1.el7.x86_64.rpm 
rpm -hiv mysql-community-server-8.0.30-1.el7.x86_64.rpm

1.安装8.0.32版本时有两个报错,解决参考:

rpm -ivh mysql-community-server-8.0.32-1.el7.x86_64.rpm --force --nodeps

https://blog.csdn.net/qq_51929833/article/details/122966804

2.安装mysql-community-server-8.0.32-1.el7.x86_64.rpm报错,运行 yum install -y perl 

error: Failed dependencies:
        /usr/bin/perl is needed by mysql-community-server-8.0.32-1.el7.x86_64
        libaio.so.1()(64bit) is needed by mysql-community-server-8.0.32-1.el7.x86_64
        libaio.so.1(LIBAIO_0.1)(64bit) is needed by mysql-community-server-8.0.32-1.el7.x86_64
        libaio.so.1(LIBAIO_0.4)(64bit) is needed by mysql-community-server-8.0.32-1.el7.x86_64
        perl(Getopt::Long) is needed by mysql-community-server-8.0.32-1.el7.x86_64
        perl(strict) is needed by mysql-community-server-8.0.32-1.el7.x86_64

3.安装mysql-libs报错

yum remove mysql-libs

 

裸机安装8.0.32记录,安装执行命令

yum install -y net-tools
yum update
yum install libcrypto*

yum install -y net-tools
yum install -y libaio
yum install -y perl

五、修改配置文件

# 设置导入sql时文件大小限制  否则有些表导入不进去
innodb_log_file_size=1024M
innodb_strict_mode=0   
# 设置大小写不敏感
lower-case-table-names=1   ## 这个没生效

 六、启动mysql

启动MySQL服务
systemctl start mysqld

查看MySQL的进程并设置服务器开机启动mysql
systemctl status mysqld
systemctl enable mysqld

查看初始化密码
cat /var/log/mysqld.log | grep password

mysql -uroot -p 初始密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '******';

备注: 5.7的修改是这样的..
ALTER USER USER() IDENTIFIED BY 'xxxxxxx';

use mysql;
update user set host = '%' where user ='root';
flush privileges;

ps: 用mysql连接工具就可以正常连接了。

8.0.32版本修改密码时提示:密码不符合当前策略要求

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY 'xxxxx';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

mysql> SHOW VARIABLES LIKE 'validate_password%';
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

mysql> set global validate_password.policy=LOW;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

 but这不就陷入了死循环,于是将密码先修改成复杂一点的(这个密码可要做好备份哟,别退出了就进不来了),再修改安全等级和密码规则:

set global validate_password.policy=0;
set global validate_password.length=1;

validate_password_policy 的取值:
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;

七、导入备份数据

source /lanren312/mysqlbackup/mysqlbackup_20220919.sql;

ps: 会看到数据快速导入,如果数据较大,需要一点时间..
windows也适用这个命令

八、检查mysql版本号

写道最后,mysql现已升级到8.0.33

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值