返回顶部
首页 > 资讯 > 数据库 >MySQL升级从5.1.71到5.7.17
  • 358
分享到

MySQL升级从5.1.71到5.7.17

2024-04-02 19:04:59 358人浏览 薄情痞子
摘要

最近系统漏洞扫描,扫出来很多Mysql的漏洞,没有什么好的办法,先升级到最新版本。在梳理mysql数据库信息时发现有一套zabbix用的Mysql版本是5.1.71的,现在的最新版本是5.7.17,版本跨越

最近系统漏洞扫描,扫出来很多Mysql的漏洞,没有什么好的办法,先升级到最新版本。在梳理mysql数据库信息时发现有一套zabbix用的Mysql版本是5.1.71的,现在的最新版本是5.7.17,版本跨越的太大了,不知道直接升级是否可行。库的数据量大概15G,于是就想先备份,备份完后用mysql_upgrade做升级。如果实在不行就再新创建一套库把数据导进去。

下面是在虚拟机测试的升级步骤,中间也遇到了一些问题,不过好在最后还是升级成功了,说明这条路还是可行了。

操作系统版本RHEL 6.7 旧的MySQL版本5.1.71,新的MySQL版本5.7.17。

1、查看旧的MySQL版本,并创建测试数据库和测试表

mysql> select version();
+------------------+
| version()        |
+------------------+
| 5.1.71-commUnity |
+------------------+
mysql> create database zx;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| infORMation_schema |
| mysql              |
| test               |
| zx                 |
+--------------------+
4 rows in set (0.00 sec)

mysql> use zx;
Database changed
mysql> create table test_upgrade (id int);
Query OK, 0 rows affected (0.07 sec)
......
mysql> select count(*) from test_upgrade;
+----------+
| count(*) |
+----------+
| 33554432 |
+----------+
1 row in set (0.00 sec)

现在test_upgrade表里有33554432条数据。

2、停止旧MySQL,并备份数据

[root@rhel6 mysql]# service mysql stop
Shutting down MySQL.. SUCCESS! 
#这里直接用cp备份数据
[root@rhel6 lib]# cp -R mysql mysql_bak
[root@rhel6 lib]# du -sk mysql*
250880	mysql
250880	mysql_bak

3、安装新Msql软件,这里下载的是编译好的解压就可以使用

[root@rhel6 ~]# tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz 
#解压完后移动到/opt目录下
[root@rhel6 ~]# mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql-5.7.17
[root@rhel6 ~]# mv mysql-5.7.17 /opt
[root@rhel6 ~]# cd /opt
[root@rhel6 opt]# chown -R mysql:mysql mysql-5.7.17/
[root@rhel6 opt]# ll
total 4
drwxr-xr-x. 9 mysql mysql 4096 Mar 22 21:07 mysql-5.7.17

4、修改my.cnf

主要修改basedir参数:

[root@rhel6 opt]# vi /etc/my.cnf
basedir=/opt/mysql-5.7.17

5、启动新MySQL

[root@rhel6 mysql-5.7.17]# ./bin/mysqld_safe &

1)启动报错1:

2017-03-22T13:12:39.131998Z 0 [ERROR] InnoDB: The Auto-extending innodb_system data file './ibdata1' is of a different size 640 pages (rounded down to MB) than specified in the .cnf file: initial 768 pages, max 0 (relevant if non-zero) pages!2017-03-22T13:12:39.132028Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2017-03-22T13:12:39.733953Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2017-03-22T13:12:39.733986Z 0 [ERROR] Plugin 'InnoDB' reGIStration as a STORAGE ENGINE failed.
2017-03-22T13:12:39.733994Z 0 [ERROR] Failed to initialize plugins.
2017-03-22T13:12:39.734000Z 0 [ERROR] Aborting

解决方法在my.cnf中的[mysqld]部分添加如下参数

innodb_data_file_path = ibdata1:10M:autoextend

再次启动

2)启动报错2:

2017-03-22T13:16:03.374717Z 0 [ERROR] unknown option '--skip-locking'
2017-03-22T13:16:03.374735Z 0 [ERROR] Aborting

解决方法从my.cnf中注释掉相关参数skip-locking

再次启动

3)启动报错3:

2017-03-22T13:18:20.278752Z 0 [ERROR] Fatal error: mysql.user table is damaged. Please run mysql_upgrade.
2017-03-22T13:18:20.278954Z 0 [ERROR] Aborting

5.7无法读取5.1的mysql.user表,解决方法使用--skip-grant-tables参数跳过授权验证

再次启动

[root@rhel6 mysql-5.7.17]# ./bin/mysqld_safe --skip-grant-tables&

启动成功

2017-03-22T13:20:23.919677Z 0 [Note] ./bin/mysqld: ready for connections.
Version: '5.7.17'  Socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL Community Server (GPL)

6、执行升级

[root@rhel6 mysql-5.7.17]# ./bin/mysql_upgrade -uroot
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.host                                         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
Upgrading the sys schema.
Checking databases.
sys.sys_config                                     OK
zx.test_upgrade                                    OK
Upgrade process completed successfully.
Checking if update is needed.

7、重启MySQL,并验证

[root@rhel6 mysql-5.7.17]# ./bin/mysqladmin -uroot -p shutdown
[root@rhel6 mysql-5.7.17]# ./bin/mysqld_safe &
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.17    |
+-----------+
1 row in set (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
| zx                 |
+--------------------+
6 rows in set (0.00 sec)

mysql> select count(*) from zx.test_upgrade;
+----------+
| count(*) |
+----------+
| 33554432 |
+----------+
1 row in set (0.01 sec)

验证通过后,删除旧版本的MySQL软件。


您可能感兴趣的文档:

--结束END--

本文标题: MySQL升级从5.1.71到5.7.17

本文链接: https://lsjlt.com/news/45044.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL升级从5.1.71到5.7.17
    最近系统漏洞扫描,扫出来很多MySQL的漏洞,没有什么好的办法,先升级到最新版本。在梳理MySQL数据库信息时发现有一套zabbix用的MySQL版本是5.1.71的,现在的最新版本是5.7.17,版本跨越...
    99+
    2024-04-02
  • MySQL如何从5.5升级到8.0(使用命令行升级)
    目录准备1、下载要安装的mysql版本2、配置环境变量3、添加配置文件安装1、卸载MySQL5.52、安装新的MySQL8.0总结谁没事想重装数据库啊 学到了数据库原理,实验作业里面有新建角色的SQL语句,但是我打上去运...
    99+
    2023-03-06
    mysql5.0升级到8.0 mysql版本升级 如何升级mysql
  • MongoDB升级--从3.4到3.6
    Upgrade a Replica Set from 3.4 to 3.6 1)在master执行 db.adminCommand( { getParameter: 1, featureCompati...
    99+
    2024-04-02
  • 从vSphere 5.5升级到6之2-升级vCenter Server 5.5到6.0
    9.3 升级vCenter Server 5.5到6.0在升级vCenter Server 5.5之前,要检查你的vCenter Server 5.5的虚拟机至少要有8GB内存、2个处理器,如图1-15所示...
    99+
    2024-04-02
  • 升级MariaDB ColumnStore 从 1.0.6 到1.0.7
    我们这里采用2台um、4台pm跑一组集群,操作系统Centos6.8,原有MariaDB ColumnStore GA版本1.0.6。# cat /etc/hosts192.168.75.33  ...
    99+
    2024-04-02
  • Python pip升级指南:从初级到高级
    从入门到精通:Python升级pip的完整教程 简介:Python是一种广泛使用的编程语言,而pip是Python的包管理工具。随着Python的版本升级,有时我们需要升级pip以保持与最新的包兼容。本文将提供一个完整的教程,引...
    99+
    2024-01-18
    Python 升级 pip
  • MySQL 'In Place' 升级实践,从5.1到5.7
    接上篇翻译的文章:使用'In place' 方法直接从5.0升级至5.7,在此记录我实践的过程。1、环境准备    数据库A   &nb...
    99+
    2024-04-02
  • ThinkPHP3.2.3怎么从php5升级到php7
    这篇文章主要为大家展示了“ThinkPHP3.2.3怎么从php5升级到php7”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ThinkPHP3.2.3怎么从php5升级到php7”这篇文章吧。...
    99+
    2023-06-15
  • 怎么从Ubuntu12.10升级到Ubuntu 13.04
    这篇文章将为大家详细讲解有关怎么从Ubuntu12.10升级到Ubuntu 13.04,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。目前13.04仍然是beta或alpha测试阶段,所以这意味着它不是完全...
    99+
    2023-06-16
  • ubuntu上升级python从python3.7到python3.8
    文章目录 一、安装python3.81. 更新 apt-get 软件源:输入以下命令:2. 安装 Python 3.8:输入以下命令: 二、修改软链接1. 删除软连接2. 新建软连接 ...
    99+
    2023-09-12
    ubuntu python linux
  • MySQL本地版本升级超详细教程(从5.5.20升到8.0.21)
    目录写在前面一、卸载本地的旧版本1. 停止mysql服务2. 卸载MySQL相关组件3. 删除MySQL安装目录4. 删除MySQL数据目录5. 再次打开服务,查看是否有MySQL卸载残留二.官网下载安装包二.安装MyS...
    99+
    2023-04-12
    mysql版本升级方法 如何升级数据库版本 mysql如何升级版本
  • MySQL从5.6版本到5.7版本的升级过程
    MySQL从5.6版本到5.7版本的升级过程 ...
    99+
    2024-04-02
  • [超详细]MySQL本地版本升级(从5.5.20到8.0.21)
    写在前面 升级本地mysql,当前5.5.20,升级前先备份本地的数据库文件 以防数据丢失 一、卸载本地的旧版本 停止MySQL服务 win+R 打开运行,输入 services.msc 点击 "确定" 调出系统服务。  2. 卸载M...
    99+
    2023-09-12
    数据库 本地mysql升级到8.0
  • MySQL使用命令行怎么从5.5升级到8.0
    本篇内容介绍了“MySQL使用命令行怎么从5.5升级到8.0”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!我用的数据库编辑软件是sqlyog...
    99+
    2023-07-05
  • ThinkPHP3.2.3从php5升级到php7的方法
    这篇文章主要介绍了ThinkPHP3.2.3从php5升级到php7的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。首先ThinkPHP3.2.3支持php7吗, 绝对支...
    99+
    2023-06-14
  • 如何从Windows 10升级到Windows 11
    要升级到Windows 11,您需要确保您的计算机符合以下最低要求:1. 64位处理器,至少为1 GHz的时钟速度和至少2个核心。2...
    99+
    2023-09-01
    Windows
  • MySQL压缩包版升级:8.0.32升级到8.0.33(Linux)
    背景:请安全公司来扫描系统发现了mysql版本低,有漏洞,需要升级版本 不哔哔,直接上步骤: 1.备份数据库数据 # 1.查看datadir位置,进行数据文件备份[root@localhost ~]# cat /etc/my.cnf |gr...
    99+
    2023-09-27
    mysql linux 数据库
  • nagios升级要点(从2.x到3.x)
    先将当前的nagios2.9备份cd /usr/localcp -r nagios nagios2.9cd /etc/init.d/cp nagios nagios2.9升级(从2.9到3.0.3)下载nagios-3.0.3首先大致的看一...
    99+
    2023-01-31
    要点 nagios
  • Oracle从10g升级到11g详细步骤
    数据库旧版本:10.2.0.4数据库新版本:11.2.0.2OS 版本: Solaris 10参考文档:Complete Checklist for Manual Upgrades to 11gR2 [ID 837570.1]第一部分 - ...
    99+
    2023-06-06
  • centos6.5中openssh怎么从5.3升级到7.3
    今天就跟大家聊聊有关centos6.5中openssh怎么从5.3升级到7.3,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。CentOS6.5 自带的SSH版本5.3太低,安全检查报...
    99+
    2023-06-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作