当前位置:   article > 正文

centos7 mysql5.7.37升级到8.0.30_centos 升级mysql

centos 升级mysql

为了解决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 升级安装

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

  1. mkdir /lanren312/mysqlback
  2. mysqldump -u root -p --all-databases > /lanren312/mysqlbackup/mysqlbackup_20220919.sql
  3. 输入mysql密码
  4. ## 备份某一个库
  5. mysqldump -u root -p dev_heroes > /lanren312/mysqlbackup/dev_heroes.sql
  6. ## 导入某一个库
  7. mysql -u root -p prod_heroes < /lanren312/mysqlbackup/dev_heroes.sql
  8. ps:好像是没有显示,千万不要手贱乱按其他键(本人没试过,猜测),如果文件很大,多等会就行了

二、下载解压mysql8.0.30

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

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

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

  1. systemctl stop mysqld 停止mysql服务
  2. rpm -qa|grep mysql  查看以前是否装有mysql
  3. rpm:管理套件  -e:删除指定的套件  --nodeps:不验证套件档的相互关联性        
  4. rpm -e --nodeps mysql-community-libs-5.7.37-1.el7.x86_64
  5. rpm -e --nodeps mysql-community-server-5.7.37-1.el7.x86_64
  6. rpm -e --nodeps mysql-community-libs-compat-5.7.37-1.el7.x86_64
  7. rpm -e --nodeps mysql-community-client-5.7.37-1.el7.x86_64
  8. rpm -e --nodeps mysql-community-common-5.7.37-1.el7.x86_64
  9. find / -name mysql
  10. rm -rf /var/lib/mysql 删除老版本mysql的所有文件和库
  11. rm -rf /etc/my.cnf 手动删除my.cnf
  12. rpm -qa|grep -i mysql 查看状态

 四、安装

  1. rpm -hiv mysql-community-common-8.0.30-1.el7.x86_64.rpm
  2. rpm -hiv mysql-community-client-plugins-8.0.30-1.el7.x86_64.rpm
  3. rpm -hiv mysql-community-libs-8.0.30-1.el7.x86_64.rpm
  4. rpm -hiv mysql-community-client-8.0.30-1.el7.x86_64.rpm
  5. rpm -hiv mysql-community-icu-data-files-8.0.30-1.el7.x86_64.rpm
  6. 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 

  1. error: Failed dependencies:
  2. /usr/bin/perl is needed by mysql-community-server-8.0.32-1.el7.x86_64
  3. libaio.so.1()(64bit) is needed by mysql-community-server-8.0.32-1.el7.x86_64
  4. libaio.so.1(LIBAIO_0.1)(64bit) is needed by mysql-community-server-8.0.32-1.el7.x86_64
  5. libaio.so.1(LIBAIO_0.4)(64bit) is needed by mysql-community-server-8.0.32-1.el7.x86_64
  6. perl(Getopt::Long) is needed by mysql-community-server-8.0.32-1.el7.x86_64
  7. 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记录,安装执行命令

  1. yum install -y net-tools
  2. yum update
  3. yum install libcrypto*
  4. yum install -y net-tools
  5. yum install -y libaio
  6. yum install -y perl

五、修改配置文件

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

 六、启动mysql

  1. 启动MySQL服务
  2. systemctl start mysqld
  3. 查看MySQL的进程并设置服务器开机启动mysql
  4. systemctl status mysqld
  5. systemctl enable mysqld
  6. 查看初始化密码
  7. cat /var/log/mysqld.log | grep password
  8. mysql -uroot -p 初始密码
  9. ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '******';
  10. 备注: 5.7的修改是这样的..
  11. ALTER USER USER() IDENTIFIED BY 'xxxxxxx';
  12. use mysql;
  13. update user set host = '%' where user ='root';
  14. flush privileges;
  15. ps: 用mysql连接工具就可以正常连接了。

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

  1. mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY 'xxxxx';
  2. ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
  3. mysql> SHOW VARIABLES LIKE 'validate_password%';
  4. ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
  5. mysql> set global validate_password.policy=LOW;
  6. ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

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

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

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

七、导入备份数据

  1. source /lanren312/mysqlbackup/mysqlbackup_20220919.sql;
  2. ps: 会看到数据快速导入,如果数据较大,需要一点时间..
  3. windows也适用这个命令

八、检查mysql版本号

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/586273
推荐阅读
相关标签
  

闽ICP备14008679号