mysql官网不支持夸大版本升级,比如跳过5.6直接升级到5.7,但由于一些客观原因,项目需要从5.5直接升级到5.7,以下是具体操作

1、备份之前mysql,(数据量少,可直接拷贝安装目录及data目录和配置文件,本例使用的为Percona XtraBackup工具进行的备份)

2、将data目录移出mysql5.5安装目录

3、解压mysql5.7版本

4、修改5.7需要配置文件my.cnf,添加datadir,指向5.5数据目录

5、初始化,该步骤可选,(新安装数据库,或者数据目录不存在,可执行如下命令初始化数据目录,本例中不需要执行如下操作)

bin/mysqld --initialize --user=mysql

6、执行ssl相关操作

bin/mysql_ssl_rsa_setup

7、启动mysql

8、此时数据目录还是5.5的,需要执行mysql_upgrade进行升级,在执行表修复前,需要确认一个参数innodb_file_per_table,mysql官网对该参数的解释如下

该参数在5.5版本默认为OFF,所有表和索引都导入一个共享文件中,名为ibdata1,但在5.6.7及以后版本,改参数被默认设置为ON,即每张表都有对应的表和索引存储文件,每个schema下,每个frm文件都有对应的ibd文件。

在执行mysql_upgrade时,会修复系统表,并且如果该参数在5.5和5.7版本均使用默认值,则会将之前共享表和索引的存储方式改为每张表单独存储表和索引的形式,故会出现拷贝复制的操作,如果数据量比较大,则用时就会很长,

使用nnodb_file_per_table=1,及表和索引单独存储的优缺点,可查看mysql官网介绍。

9、使用mysql_upgrade检测并修复表

使用方法与mysql命令登录命令行一样,mysql会自动检测当前表并自动修复

mysql_upgrade -uroot -p

10、修复完成后,若发现mysql启动有server-key.pem相关的ssl错误,则是server-key.pem文件权限问题

chmod 644 server-key.pem

11、但此时若执行mysqlpum备份数据,可能会出现异常

mysqlpump --user=root --password mytest > mytest.sql

错误信息:

mysqlpump: [ERROR] (1577) Cannot proceed because system tables used by Event Scheduler were found damaged at server start
Dump process encountered error and will not continue.
mysqlpump: [ERROR] (1577) Cannot proceed because system tables used by Event Scheduler were found damaged at server start
Dump process encountered error and will not continue.
mysqlpump: [ERROR] (1577) Cannot proceed because system tables used by Event Scheduler were found damaged at server start
Dump process encountered error and will not continue.
mysqlpump: [ERROR] (1577) Cannot proceed because system tables used by Event Scheduler were found damaged at server start
Dump process encountered error and will not continue.
mysqlpump: [ERROR] (1577) Cannot proceed because system tables used by Event Scheduler were found damaged at server start
Dump process encountered error and will not continue.
mysqlpump: [ERROR] (1577) Cannot proceed because system tables used by Event Scheduler were found damaged at server start
Dump process encountered error and will not continue.
mysqlpump: [ERROR] (1577) Cannot proceed because system tables used by Event Scheduler were found damaged at server start
Dump process encountered error and will not continue.
mysqlpump: [ERROR] (1577) Cannot proceed because system tables used by Event Scheduler were found damaged at server start
Dump process encountered error and will not continue.
mysqlpump: [ERROR] (1577) Cannot proceed because system tables used by Event Scheduler were found damaged at server start
Dump process encountered error and will not continue.

解决方法:重启mysql服务 (本例中是这样解决的问题)

重新执行mysqlpump

Dump progress: 1/28 tables, 0/353 rows
Dump progress: 36/343 tables, 0/19746 rows
Dump progress: 180/343 tables, 6151/19746 rows
Dump completed in 3675 milliseconds

数据被正确备份下来,且备份速度很快,从备份文件可以看到,内容与mysqldump备份有很多不同

本次只是简单尝试mysqlpump,待后续再对mysqlpump做深入了解

转载于:https://www.cnblogs.com/qq931399960/p/10243758.html

mysql从5.5直接升级到5.7后,执行mysql_upgrade速度很慢且执行结束后数据目录大小增加一倍及 mysqlpump备份出现1577错误...相关推荐

  1. mysql 5.6 uf8mb4_MySQL5.7升级到8.0过程详解

    前言: 不知不觉,MySQL8.0已经发布好多个GA小版本了.目前互联网上也有很多关于MySQL8.0的内容了,MySQL8.0版本基本已到稳定期,相信很多小伙伴已经在接触8.0了.本篇文章主要介绍从 ...

  2. MySQL从5.7.32升级到8.0.22

    目录 一.备份与导出数据 二.升级到MySQL-8.0.22同时解决字符集问题 2.1.卸载MySQL-5.7.32 2.2.安装MySQL-8.0.22 2.3.修改配置文件 my.cnf 三.导入 ...

  3. Centos MySQL 5.7安装、升级教程

    MySQL 5.7安装.升级笔记分享: 卸载当前的 MySQL 查看当前 MySQL 版本: ? 1 2 [root@coderknock ~]# mysql -V mysql Ver 14.14 D ...

  4. suse mysql 5.5_suse 11 mysql 如何从5.1升级到5.5

    MySQL-server-5.0.67-1.sles11 libqt4-sql-mysql-4.6.2-1.6.11 libmysqlclient15-5.0.67-13.20.1 php5-mysq ...

  5. centos mysql 5.5.57_Centos MySQL 5.7安装、升级教程

    MySQL 5.7安装.升级笔记分享: 卸载当前的 MySQL 查看当前 MySQL 版本: 停止 MySQL 服务 备份数据[数据不重要可以忽略] 备份数据库,升级MySQL通常不会丢失数据,但保险 ...

  6. mysql从5.1.63升级到5.6.20出现的问题

    为了提高mysql主从复制的效率,将mysql 从5.1.63升级到5.6.20,升级过程非常顺利,但是在数据的迁移过程中出现了问题, 第一次数据迁移直接使用的是数据文件迁移的方法:停掉原5.1.63 ...

  7. xtrabackup 升级 mysql_使用percona-xtrabackup-2.0.8将MySQL从5.1.73升级到5.6.36

    使用percona-xtrabackup-2.0.8将MySQL从5.1.73升级到5.6.36 1.安装xtrabackup cd /usr/local/ tar xvf percona-xtrab ...

  8. mysql从5.7平滑升级到8.0.27

    mysql升级过程 官网下载最新的mysql安装包 上传到服务器的/opt/mysql目录下解压: # 文件上传位置在/opt/mysql/下面 cd /opt/mysql/# 解压安装包 [root ...

  9. mambo_4.5.3的mysql数据库由4.0升级4.1操作过程

    在mambo里使用mysql4.1目前好像一直是一个禁区,迫于主页空间的限制, 我历经一天一夜的探索,完成了数据库升级,现将操作过程写下来,供朋友们参考. mambo_4.5.3的mysql数据库由4 ...

最新文章

  1. POJ2985 The k-th Largest Group(平衡树查询第K大)
  2. 19款绚丽实用的jQuery/CSS3侧边栏菜单
  3. MFC控件的颜色设置
  4. mysql删除了密码怎样恢复_window 下如何恢复被删除的mysql root账户及密码(mysql 8.0.17)...
  5. 云炬随笔20210930
  6. vue,一路走来(10)--生产环境
  7. Swagger的简单使用
  8. TCP/IP网络协议栈面试经典题目
  9. 学java有什么技巧?
  10. linux下开通ssh
  11. VS2015 fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include “stdafx.h”
  12. c语言 多进程实现基于UDP的网络群聊聊天室
  13. java获取网络时间_java使用ntp同步获取网络时间
  14. python爬取京东图书_Python抓取京东图书评论数据
  15. git由ssh改为http后,HTTP Basic: Access denied无法同步问题解决
  16. eclipse导入已存在工程报 Faceted Project Problem 错误
  17. 【5G】协议与信令区别
  18. SSH远程管理及sshd服务支持验证方式
  19. 管理者应该会讲的68个超级经典小故事
  20. 用js获取某一年一共多少天和剩余天数

热门文章

  1. SAP S/4HANA生产订单抬头字段的维护
  2. 微信小程序开发系列六:微信框架API的调用
  3. @transactional注解_为啥同一个类中普通方法调用Spring注解方法,注解会失效?看完你就明白,So easy!...
  4. xshell vim 不能粘贴_编辑器之神——vim的入门指南
  5. 怎么在java上运行服务器,用java做了一个简单的定时任务工程,不知道如何让它在服务器上运行起来?应该怎样做???...
  6. 判断图有无环_【转】判断一个图是否有环 无向图 有向图
  7. 认识python编程环境_认识Python和安装Python环境
  8. 用c语言实现0到59的数码管,跪求单片机0~99数码管显示用C语言编写的程序
  9. 随机迷宫c语言实验报告,[原创]递归随机迷宫生成算法详解
  10. oracle11g系统初始化意义,Oracle11G 初始化脚本