02-mysql升级篇(rpm方式+压缩包升级)

news2024/10/7 16:25:53

文章目录

    • 升级方式一、二进制方式安装
      • 1、下载mysql-5.7.42安装包(mysql-5.7.37升级mysql-5.7.42)
      • 2、备份数据库、my.cnf文件,停止mysql服务(==重要==)
      • 3、查看当前数据库版本
      • 3、上传 mysql-5.7.42-1.el7.x86_64.rpm-bundle.tar并解压
      • 4、查看安装MySQL有关的包
      • 5、升级、按顺序执行
      • 6、检查和升级数据库字典
      • 7、启动mysql,检查版本和数据
    • 升级方式二、压缩包方式安装
      • 1、下载mysql-5.7.42安装包(mysql-5.7.18升级mysql-5.7.42)
      • 2、备份数据库(==重要==)
      • 3、备份完成之后,停止mysql服务
      • 4、解压mysql-5.7.42
      • 5、备份旧版mysql-5.7.18 安装目录下的文件,
      • 6、删除旧版安装目录下(bin、docs、includ、lib、share、support-files、LICENSE、README);删除/etc/init.d/ 下的mysqld
      • 7、将新解压的mysql-5.7.42目录复制到原来mysql安装目录下(/usr/local/mysql/),并修改文件权限。
      • 8、将新解压的mysql-5.7.42的mysqld版本复制到/etc/init.d/ 下
      • 9、修改参数
      • 10、启动mysql、检查版本
      • 11、行mysql_upgrade进行检查
      • 12、账号密码、数据等检查

升级方式一、二进制方式安装

1、下载mysql-5.7.42安装包(mysql-5.7.37升级mysql-5.7.42)

地址:https://downloads.mysql.com/archives/community/

mysql-5.7.42-1.el7.x86_64.rpm-bundle.tar

2、备份数据库、my.cnf文件,停止mysql服务(重要


[root@db-mysql mysql-tar]# mysqldump -hlocalhost -uroot -p --all-databases > /home/user/db-test_back_2023.sql

[root@db-mysql mysql-tar]# cp /etc/my.cnf /etc/5.7.37_my.cnf

[root@db-mysql ~]# systemctl stop mysqld

在这里插入图片描述

3、查看当前数据库版本

mysql> select@@version;
+-----------+
| @@version |
+-----------+
| 5.7.37    |
+-----------+
1 row in set (0.00 sec)

mysql> 

3、上传 mysql-5.7.42-1.el7.x86_64.rpm-bundle.tar并解压

[root@db-mysql ~]# mkdir mysql-bundle
[root@db-mysql ~]# 
[root@db-mysql ~]# tar -xvf mysql-5.7.42-1.el7.x86_64.rpm-bundle.tar -C ~/mysql-bundle
mysql-community-client-5.7.42-1.el7.x86_64.rpm
mysql-community-common-5.7.42-1.el7.x86_64.rpm
mysql-community-devel-5.7.42-1.el7.x86_64.rpm
mysql-community-embedded-5.7.42-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.42-1.el7.x86_64.rpm
mysql-community-embedded-devel-5.7.42-1.el7.x86_64.rpm
mysql-community-libs-5.7.42-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.42-1.el7.x86_64.rpm
mysql-community-server-5.7.42-1.el7.x86_64.rpm
mysql-community-test-5.7.42-1.el7.x86_64.rpm
[root@db-mysql ~]# 

在这里插入图片描述

4、查看安装MySQL有关的包

[root@db-mysql mysql-bundle]# rpm -qa|grep -i mysql
mysql-community-common-5.7.37-1.el7.x86_64
mysql-community-client-5.7.37-1.el7.x86_64
mysql-community-server-5.7.37-1.el7.x86_64
mysql-community-libs-5.7.37-1.el7.x86_64
[root@db-mysql mysql-bundle]# 

5、升级、按顺序执行

[root@db-mysql mysql-bundle]# ll
总用量 544432
-rw-r--r--. 1 7155 31415  29405072 318 11:09 mysql-community-client-5.7.42-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415    318948 318 11:09 mysql-community-common-5.7.42-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415   4430172 318 11:09 mysql-community-devel-5.7.42-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415  48202108 318 11:10 mysql-community-embedded-5.7.42-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415  23316088 318 11:10 mysql-community-embedded-compat-5.7.42-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 133343532 318 11:10 mysql-community-embedded-devel-5.7.42-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415   2747748 318 11:10 mysql-community-libs-5.7.42-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415   1264424 318 11:10 mysql-community-libs-compat-5.7.42-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 187276248 318 11:10 mysql-community-server-5.7.42-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 127179748 318 11:10 mysql-community-test-5.7.42-1.el7.x86_64.rpm
[root@db-mysql mysql-bundle]# rpm -Uvh mysql-community-server-5.7.42-1.el7.x86_64.rpm --force --nodeps
警告:mysql-community-server-5.7.42-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-server-5.7.42-1.e################################# [ 50%]
正在清理/删除...
   2:mysql-community-server-5.7.37-1.e################################# [100%]
[root@db-mysql mysql-bundle]# rpm -Uvh mysql-community-client-5.7.42-1.el7.x86_64.rpm --force --nodeps
警告:mysql-community-client-5.7.42-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-client-5.7.42-1.e################################# [ 50%]
正在清理/删除...
   2:mysql-community-client-5.7.37-1.e################################# [100%]
[root@db-mysql mysql-bundle]# rpm -Uvh mysql-community-libs-5.7.42-1.el7.x86_64.rpm --force --nodeps
警告:mysql-community-libs-5.7.42-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-libs-5.7.42-1.el7################################# [ 50%]
正在清理/删除...
   2:mysql-community-libs-5.7.37-1.el7################################# [100%]
[root@db-mysql mysql-bundle]# rpm -Uvh mysql-community-common-5.7.42-1.el7.x86_64.rpm --force --nodeps
警告:mysql-community-common-5.7.42-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-common-5.7.42-1.e################################# [ 50%]
正在清理/删除...
   2:mysql-community-common-5.7.37-1.e################################# [100%]
[root@db-mysql mysql-bundle]# 

6、检查和升级数据库字典

[root@db-mysql mysql-bundle]#  mysql_upgrade -uroot -p123456
mysql_upgrade: [Warning] Using a password on the command line interface can be insecure.
Checking if update is needed.
Checking server version.
Running queries to upgrade MySQL server.
Checking system database.
mysql.columns_priv                                 OK
mysql.db                                           OK
mysql.engine_cost                                  OK
mysql.event                                        OK
mysql.func                                         OK
mysql.general_log                                  OK
mysql.gtid_executed                                OK
mysql.help_category                                OK
mysql.help_keyword                                 OK
mysql.help_relation                                OK
mysql.help_topic                                   OK
mysql.innodb_index_stats                           OK
mysql.innodb_table_stats                           OK
mysql.ndb_binlog_index                             OK
mysql.plugin                                       OK
mysql.proc                                         OK
mysql.procs_priv                                   OK
mysql.proxies_priv                                 OK
mysql.server_cost                                  OK
mysql.servers                                      OK
mysql.slave_master_info                            OK
mysql.slave_relay_log_info                         OK
mysql.slave_worker_info                            OK
mysql.slow_log                                     OK
mysql.tables_priv                                  OK
mysql.time_zone                                    OK
mysql.time_zone_leap_second                        OK
mysql.time_zone_name                               OK
mysql.time_zone_transition                         OK
mysql.time_zone_transition_type                    OK
mysql.user                                         OK
The sys schema is already up to date (version 1.5.2).
Checking databases.
db-test.user                                       OK
sys.sys_config                                     OK
Upgrade process completed successfully.
Checking if update is needed.
[root@db-mysql mysql-bundle]# 

7、启动mysql,检查版本和数据

[root@db-mysql ~]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.42 MySQL Community Server (GPL)

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select@@version;
+-----------+
| @@version |
+-----------+
| 5.7.42    |
+-----------+
1 row in set (0.00 sec)

mysql> 

mysql> use db-test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select * from user;
+----+-----------+------+--------+
| id | name      | age  | class  |
+----+-----------+------+--------+
|  1 | 宋江      |   18 | 一班   |
|  2 | 卢俊义    |   20 | 二班   |
|  3 | 吴用      |   18 | 一班   |
|  4 | 公孙胜    |   19 | 二班   |
|  5 | 林冲      |   20 | 三班   |
|  6 | 呼延灼    |   16 | 四班   |
+----+-----------+------+--------+
6 rows in set (0.00 sec)

mysql> 

升级方式二、压缩包方式安装

1、下载mysql-5.7.42安装包(mysql-5.7.18升级mysql-5.7.42)

地址:https://downloads.mysql.com/archives/community/

mysql-5.7.42-linux-glibc2.12-x86_64.tar.gz

2、备份数据库(重要

[root@db-mysql mysql-tar]# mysqldump -hlocalhost -uroot -p --all-databases > /home/user/myblog_back_2023.sql

3、备份完成之后,停止mysql服务

[root@db-mysql mysql-tar]# systemctl stop mysqld

4、解压mysql-5.7.42

[root@db-mysql mysql-tar]# tar -zxvf mysql-5.7.42-linux-glibc2.12-x86_64.tar.gz

5、备份旧版mysql-5.7.18 安装目录下的文件,


mkdir mysql_bk
cp -R mysql/* mysql_bk
或者直接压缩
tar -zcvf mysql.tar.gz mysql
[root@db-mysql bin]# tar zcf mysql.tar.gz mysql

6、删除旧版安装目录下(bin、docs、includ、lib、share、support-files、LICENSE、README);删除/etc/init.d/ 下的mysqld

[root@db-mysql ~]# rm -rf bin
[root@db-mysql ~]# rm -rf docs
[root@db-mysql ~]# rm -rf include
[root@db-mysql ~]# rm -rf lib
[root@db-mysql ~]# rm -rf README
[root@db-mysql ~]# rm -rf LICENSE
[root@db-mysql ~]# rm -rf share
[root@db-mysql ~]# rm -rf support-files

在这里插入图片描述

[root@db-mysql bin]# cd /etc/init.d/
[root@db-mysql init.d]# tar zcf mysqld_5.7.18.tar.gz mysqld
[root@db-mysql init.d]# rm -rf mysqld

在这里插入图片描述

7、将新解压的mysql-5.7.42目录复制到原来mysql安装目录下(/usr/local/mysql/),并修改文件权限。

[root@db-mysql mysql-tar]# mv mysql-5.7.42-linux-glibc2.12-x86_64/* /usr/local/mysql
[root@db-mysql mysql]# chown -R mysql:mysql /usr/local/mysql

8、将新解压的mysql-5.7.42的mysqld版本复制到/etc/init.d/ 下

[root@db-mysql mysql-5.7.42-linux-glibc2.12-x86_64]# cp support-files/mysql.server /etc/init.d/mysqld

9、修改参数

[root@db-mysql ~]# vi /etc/init.d/mysqld

和原来安装的数据数据目录保持一致

datadir=/usr/local/mysql/data
basedir=/usr/local/mysql

10、启动mysql、检查版本

[root@db-mysql ~]# systemctl start mysqld
[root@db-mysql ~]# systemctl status mysqld
● mysqld.service - LSB: start and stop MySQL
   Loaded: loaded (/etc/rc.d/init.d/mysqld; bad; vendor preset: disabled)
   Active: active (running) since 三 2023-05-10 22:45:11 CST; 2min 36s ago
     Docs: man:systemd-sysv-generator(8)
   CGroup: /system.slice/mysqld.service
           ├─3279 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/db-mysql.pid
           └─3494 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --use...

510 22:45:10 db-mysql systemd[1]: Starting LSB: start and stop MySQL...
510 22:45:11 db-mysql mysqld[3268]: Starting MySQL. SUCCESS!
510 22:45:11 db-mysql systemd[1]: Started LSB: start and stop MySQL.
[root@db-mysql ~]# 

[root@db-mysql ~]# mysql -V
mysql  Ver 14.14 Distrib 5.7.42, for linux-glibc2.12 (x86_64) using  EditLine wrapper
[root@db-mysql ~]# 
[root@db-mysql ~]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.42 MySQL Community Server (GPL)

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show version();
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'version()' at line 1
mysql> 
mysql> select@@version;
+-----------+
| @@version |
+-----------+
| 5.7.42    |
+-----------+
1 row in set (0.00 sec)

mysql> 

11、行mysql_upgrade进行检查

[root@db-mysql ~]# mysql_upgrade -uroot -p --force --skip-version-check
Enter password: 
Running queries to upgrade MySQL server.
Checking system database.
mysql.columns_priv                                 OK
mysql.db                                           OK
mysql.engine_cost                                  OK
mysql.event                                        OK
mysql.func                                         OK
mysql.general_log                                  OK
mysql.gtid_executed                                OK
mysql.help_category                                OK
mysql.help_keyword                                 OK
mysql.help_relation                                OK
mysql.help_topic                                   OK
mysql.innodb_index_stats                           OK
mysql.innodb_table_stats                           OK
mysql.ndb_binlog_index                             OK
mysql.plugin                                       OK
mysql.proc                                         OK
mysql.procs_priv                                   OK
mysql.proxies_priv                                 OK
mysql.server_cost                                  OK
mysql.servers                                      OK
mysql.slave_master_info                            OK
mysql.slave_relay_log_info                         OK
mysql.slave_worker_info                            OK
mysql.slow_log                                     OK
mysql.tables_priv                                  OK
mysql.time_zone                                    OK
mysql.time_zone_leap_second                        OK
mysql.time_zone_name                               OK
mysql.time_zone_transition                         OK
mysql.time_zone_transition_type                    OK
mysql.user                                         OK
The sys schema is already up to date (version 1.5.1).
Checking databases.
myblog.album                                       OK
myblog.article                                     OK
myblog.comment                                     OK
myblog.likes                                       OK
myblog.user                                        OK
sys.sys_config                                     OK
Upgrade process completed successfully.
Checking if update is needed.
[root@db-mysql ~]# 

12、账号密码、数据等检查

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/509561.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringMVC 详解

文章目录 一、SpringMVC简介1、什么是MVC2、什么是SpringMVC3、SpringMVC的特点 二、HelloWorld1、开发环境2、创建maven工程a>添加web模块b>打包方式:warc>引入依赖 3、配置web.xmla>默认配置方式b>扩展配置方式 4、创建请求控制器5、创建springMVC…

关于太阳黑子数的查询

太阳黑子数查询地址:点此跳转 浏览器中打开下图所示的网站。 根据自己的需求下载相应的文件查找太阳黑子数,下载时可以选择 TXT 文件格式,也可以选择 CSV 文件格式。 我下载了每日估计的太阳黑子数,TXT 格式文件打开如下图所示。…

免费下载的无水印人物素材网站!

在日常设计中,设计师常常需要使用人物素材来提升设计作品的吸引力。一个可爱的人物插画可以使网页界面更加生动,一个富有个性的人物素材可以让应用程序更具吸引力,引发用户的共鸣。但设计师有时会苦恼于找不到合适的人物素材网站,…

PCB制板基础知识[详细版]

一、PCB概念 PCB(PrintedCircuitBoard),中文名称为印制电路板,又称印刷电路板、印刷线路板,是重要的电子部件,是电子元器件的支撑体,是电子元器件电气连接的提供者。由于它是采用电子印刷术制…

USB descriptor

如下为oneplus的插入MIDI模式 device descriptor 注意:1个device只有一个描述符 bNumConfigurations 标识只有一个配置,该配置只属于一个传输速度 通过getDescriptor的方法获得,需要指定wvalue为deivce descriptor,至于index可以为0 大概1…

【5.JS基础-JavaScript的DOM操作】

1 认识DOM和BOM 所以我们学习DOM,就是在学习如何通过JavaScript对文档进行操作的; DOM Tree的理解 DOM的学习顺序 DOM的继承关系图 2 document对象 3 节点(Node)之间的导航(navigator) 4 元素&#xff0…

Java的抽象类 接口

抽象类 如果自下而上在类的继承层次结构中上移,位于上层的类更具有通用性,甚至可能更加抽象。从某种角度看,祖先类更加通用,人们只将它作为派生其他类的基类,而不作为想使用的特定的实例类。例如,考虑一下…

python中使用opencv LED屏数字识别(可用做车牌识别,一样的原理)

应项目要求需要基于cpu的LED数字识别,为了满足需求,使用传统方法进行实验。识别传感器中显示的数字。因此使用opencv的函数做一些处理,实现功能需求。 首先读取图像,因为我没想大致得到LED屏幕的区域,因此将RGB转换为H…

Java 观察者模式 详解

观察者模式是一种常见的设计模式,也称作发布-订阅模式。它主要解决了对象之间的通知依赖关系问题。在这种模式中,一个对象(称作Subject)维护着一个对象列表,这些对象(称作Observers)都需要被通知…

STANet代码复现出现的问题

1 IndexError: boolean index did not match indexed array along dimension 0; dimension is 4194304 but corresponding boolean dimension is 65536定位到导致错误的代码,是metric.py,Collect values for Confusion Matrix 收集混淆矩阵的值时出错 …

Java框架学习02(SpringSpringBoot常用注解总结)

1. SpringBootApplication 这里先单独拎出SpringBootApplication 注解说一下,虽然我们一般不会主动去使用它。 Guide:这个注解是 Spring Boot 项目的基石,创建 SpringBoot 项目之后会默认在主类加上。 SpringBootApplication public class…

ROM、RAM、FLASH区别

文章目录 一、ROM二、RAM三、FLASH四、单片机程序大小计算1、Keil/MDK 一、ROM ROM(Read Only Memory)只读存储器。是一种半导体内存,其特性是一旦储存资料就无法再将之改变或删除。通常用在不需经常变更资料的电子或电脑系统中,资…

性能测试的核心原理

性能测试的核心原理 1 基于协议,前后端交互机制,性能核心。基于界面决定和前端用户交互,基于代码决定了后端。 1 网络分布式架构。 2 单机应用,比如安安兔,鲁大师。主要判断io读写,以及对资源的消耗。 2 多…

git常见操作命令

1.Git 配置 在安装完成 Git 后,开始正式使用前,是需要有一些全局设置的,如用户名、邮箱。 git config --global user.name "your name" // 设置全局用户名 git config --global user.email "your email" // 设…

Linux诞生与分支

a) 什么是操作系统操作系统是计算机系统中必不可少的基础系统软件,它的作用是管理和控制计算机系统中的硬件和软件资源,合理地组织计算机系统的工作流程,以便有效地利用这些资源为使用者提供一个功能强大、使用方便的操作环境。它在计算机系…

汽车轮胎充电宝打气泵方案

我们知道新能源车是没有配置充气泵的,所以在平时日常使用中我们还需要配置一个充气泵。充气泵方案便是在这个用户需求上面开发出来的。它体积小、外观精美、带有多模式充气并车胎检测等功能,是现在有车一族的出行必备物品。 充气泵方案其功能设计集成于一…

【语义分割】标注工具ISAT with segment anything介绍

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 极速分割标注工具 1. 正文 1.1 安装 创建虚拟环境 conda create -n ISAT_with_segment_anything python3.8 conda activate ISAT_with_segment_anyt…

宝塔面板搭建Discuz论坛并发布互联网访问【无需云服务器】

✨个人主页:bit me👇 目 录 ⏳前言⏰1.安装基础环境⌚️2.一键部署Discuz📻3.安装cpolar工具📡4.配置域名访问Discuz🔍5.固定域名公网地址📲6.配置Discuz论坛 转载自cpolar极点云的文章:Linux宝…

关于startActivityForResult()方法被弃用的解决方案

关于startActivityForResult()方法被弃用的解决方案 背景:使用startActivityForResult()方法时,代码出现划线,显示该方法已被弃用 startActivityForResult() 方法是一种用于在 Android 应用程序中启动另一个活动(Activity&#x…

Charles抓包

mac 1、下载安装包 官网下载:Download a Free Trial of Charles • Charles Web Debugging Proxy 2、有效期: 打开Charles > Help > Register Charles > 输入 Registered Name : https://zhile.io License Key:48891…