【问题标题】:MySQL FAIL on upgrade from v5.1 to v8.* -- How to recover dataMySQL FAIL 从 v5.1 升级到 v8.* -- 如何恢复数据
【发布时间】:2019-09-13 04:59:03
【问题描述】:

我目前正在运行 Redhat 服务器:

Distributor ID: RedHatEnterpriseServer
Description:    Red Hat Enterprise Linux Server release 6.10 (Santiago)
Release:        6.10
Codename:       Santiago

之前安装了 MySQL 5.1 版。我需要将 MySQL 升级到版本 > 5.6,所以首先我导出了所有数据库:mysqldump [options] > dump.sql。我下载了 rpm:mysql80-community-release-el6-2.noarch.rpm 并运行:

sudo rpm -Uvh mysql80-community-release-el6-2.noarch.rpm 
sudo yum -y update mysql*
rpm -qa | grep mysql
mysql-community-libs-8.0.15-1.el6.x86_64
mysql80-community-release-el6-2.noarch
mysql-community-server-8.0.15-1.el6.x86_64
mysql-community-common-8.0.15-1.el6.x86_64
mysql-community-libs-compat-8.0.15-1.el6.x86_64
mysql-community-client-8.0.15-1.el6.x86_64

现在当我尝试启动 mysql 时出现问题:sudo service mysqld start 显然,它不会启动,这里是日志:

2019-04-23T22:04:09.953724Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.15) starting as process 16303
2019-04-23T22:04:10.072176Z 1 [ERROR] [MY-013090] [InnoDB] Unsupported redo log format (0). The redo log was created before MySQL 5.7.9
2019-04-23T22:04:10.072217Z 1 [ERROR] [MY-012930] [InnoDB] Plugin initialization aborted with error Generic error.
2019-04-23T22:04:10.672999Z 1 [ERROR] [MY-011013] [Server] Failed to initialize DD Storage Engine.
2019-04-23T22:04:10.673398Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2019-04-23T22:04:10.673567Z 0 [ERROR] [MY-010119] [Server] Aborting
2019-04-23T22:04:10.674496Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.15)  MySQL Community Server - GPL.
2019-04-23T22:07:57.788396Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.
2019-04-23T22:07:57.788446Z 0 [Warning] [MY-011068] [Server] The syntax 'expire-logs-days' is deprecated and will be removed in a future release. Please use binlog_expire_logs_seconds instead.
2019-04-23T22:07:57.790578Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.15) starting as process 16750
2019-04-23T22:07:59.289318Z 1 [ERROR] [MY-013168] [InnoDB] Cannot upgrade server earlier than 5.7 to 8.0
2019-04-23T22:08:04.399358Z 1 [ERROR] [MY-011013] [Server] Failed to initialize DD Storage Engine.
2019-04-23T22:08:04.399712Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2019-04-23T22:08:04.400111Z 0 [ERROR] [MY-010119] [Server] Aborting
2019-04-23T22:08:04.401574Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.15)  MySQL Community Server - GPL.
2019-04-23T22:23:36.368160Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.
2019-04-23T22:23:36.368200Z 0 [Warning] [MY-011068] [Server] The syntax 'expire-logs-days' is deprecated and will be removed in a future release. Please use binlog_expire_logs_seconds instead.
2019-04-23T22:23:36.370634Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.15) starting as process 17915
2019-04-23T22:23:36.772757Z 1 [ERROR] [MY-013168] [InnoDB] Cannot upgrade server earlier than 5.7 to 8.0
2019-04-23T22:23:41.882681Z 1 [ERROR] [MY-011013] [Server] Failed to initialize DD Storage Engine.
2019-04-23T22:23:41.883054Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2019-04-23T22:23:41.883362Z 0 [ERROR] [MY-010119] [Server] Aborting
2019-04-23T22:23:41.884282Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.15)  MySQL Community Server - GPL.
2019-04-23T23:01:40.642684Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.
2019-04-23T23:01:40.642724Z 0 [Warning] [MY-011068] [Server] The syntax 'expire-logs-days' is deprecated and will be removed in a future release. Please use binlog_expire_logs_seconds instead.
2019-04-23T23:01:40.646798Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.15) starting as process 20087
2019-04-23T23:01:41.612258Z 1 [ERROR] [MY-013168] [InnoDB] Cannot upgrade server earlier than 5.7 to 8.0
2019-04-23T23:01:46.720034Z 1 [ERROR] [MY-011013] [Server] Failed to initialize DD Storage Engine.
2019-04-23T23:01:46.720414Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2019-04-23T23:01:46.720645Z 0 [ERROR] [MY-010119] [Server] Aborting
2019-04-23T23:01:46.721479Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.15)  MySQL Community Server - GPL.
2019-04-23T23:38:32.052191Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.
2019-04-23T23:38:32.052242Z 0 [Warning] [MY-011068] [Server] The syntax 'expire-logs-days' is deprecated and will be removed in a future release. Please use binlog_expire_logs_seconds instead.
2019-04-23T23:38:32.056515Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.15) starting as process 22326
2019-04-23T23:38:32.619209Z 1 [ERROR] [MY-013168] [InnoDB] Cannot upgrade server earlier than 5.7 to 8.0
2019-04-23T23:38:37.728572Z 1 [ERROR] [MY-011013] [Server] Failed to initialize DD Storage Engine.
2019-04-23T23:38:37.729004Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2019-04-23T23:38:37.729451Z 0 [ERROR] [MY-010119] [Server] Aborting
2019-04-23T23:38:37.730880Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.15)  MySQL Community Server - GPL.

2019-04-23T23:38:32.619209Z 1 [错误] [MY-013168] [InnoDB] 无法将低于 5.7 的服务器升级到 8.0

在保留数据库中数据的同时正确升级 MySQL 需要采取哪些步骤?现在,我只备份了 Schemas。 全新安装将是最后的手段,那么在我目前的状态下是否可以恢复数据库数据并正确执行升级?

编辑

我卸载了 MySQL8.0 并安装了 V 5.6,但一开始我在日志中收到此错误 - 我不知道从这里做什么:

2019-04-24 10:41:07 14335 [Note] Plugin 'FEDERATED' is disabled.
2019-04-24 10:41:07 14335 [Note] InnoDB: Using atomics to ref count buffer poolpages
2019-04-24 10:41:07 14335 [Note] InnoDB: The InnoDB memory heap is disabled
2019-04-24 10:41:07 14335 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2019-04-24 10:41:07 14335 [Note] InnoDB: Memory barrier is not used
2019-04-24 10:41:07 14335 [Note] InnoDB: Compressed tables use zlib 1.2.11
2019-04-24 10:41:07 14335 [Note] InnoDB: Using Linux native AIO
2019-04-24 10:41:07 14335 [Note] InnoDB: Using CPU crc32 instructions
2019-04-24 10:41:07 14335 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2019-04-24 10:41:07 14335 [Note] InnoDB: Completed initialization of buffer pool
2019-04-24 10:41:07 14335 [ERROR] InnoDB: auto-extending 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!
2019-04-24 10:41:07 14335 [ERROR] InnoDB: Could not open or create the system tablespace. If you tried to add new data files to the system tablespace, and it failed here, you should now edit innodb_data_file_path in my.cnf back to what it was, and remove the new ibdata files InnoDB created in this failed attempt. InnoDB only wrote those files full of zeros, but did not yet use them in any way. But be careful: do not remove old data files which contain your precious data!
2019-04-24 10:41:07 14335 [ERROR] Plugin 'InnoDB' init function returned error.
2019-04-24 10:41:07 14335 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2019-04-24 10:41:07 14335 [ERROR] Unknown/unsupported storage engine: InnoDB
2019-04-24 10:41:07 14335 [ERROR] Aborting
2019-04-24 10:41:07 14335 [Note] Binlog end
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'partition'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_SYS_DATAFILES'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_SYS_TABLESPACES'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN_COLS'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_SYS_FIELDS'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_SYS_COLUMNS'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_SYS_INDEXES'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_SYS_TABLESTATS'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_SYS_TABLES'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_FT_INDEX_TABLE'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_FT_INDEX_CACHE'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_FT_CONFIG'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_FT_BEING_DELETED'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_FT_DELETED'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_FT_DEFAULT_STOPWOR                                                                                                                                                            D'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_METRICS'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_BUFFER_POOL_STATS'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE_LRU'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX_RESE                                                                                                                                                             T'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_CMPMEM_RESET'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_CMPMEM'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_CMP_RESET'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_CMP'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_LOCK_WAITS'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_LOCKS'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'INNODB_TRX'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'PERFORMANCE_SCHEMA'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'BLACKHOLE'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'ARCHIVE'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'MRG_MYISAM'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'MEMORY'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'CSV'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'MyISAM'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'sha256_password'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'mysql_old_password'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'mysql_native_password'
2019-04-24 10:41:07 14335 [Note] Shutting down plugin 'binlog'
2019-04-24 10:41:07 14335 [Note] /usr/sbin/mysqld: Shutdown complete

【问题讨论】:

  • Upgrading to 8.0.x 仅从 5.7.x 开始支持。 Upgrading to 5.7.x 仅支持最新的 5.6.x 版本...在启动此类操作之前,您应该始终检查这些要求。您现在有 2 个选择:回到以前的版本并遵循完整的升级路径,或者安装一个空白的 8.0 mysql 并从以前的版本导入您的转储。

标签: mysql upgrade redhat rpm yum


【解决方案1】:

找到一个相关的帖子并开始。参考:Solution

这个解决方案对我有用。

  1. 导航到 /var/lib/mysql
  2. 删除所有 ib_logfile 的
  3. 删除 ibdata1 文件
  4. 重启mysql服务器

【讨论】:

  • 很高兴您找到了解决方案,感谢您的分享。几分钟后,您也许可以将自己的答案标记为已接受。如果你能做到这一点,它将关闭你的问题,查看你问题的人会看到你找到了解决方案。
  • 当然!直到明天,它才会让我将我的回答标记为已接受的解决方案。明天会做。
猜你喜欢
  • 2016-02-06
  • 2017-11-27
  • 2018-01-30
  • 1970-01-01
  • 1970-01-01
  • 2013-04-19
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
相关资源
最近更新 更多