MySQL FAIL 从 v5.1 升级到 v8.* -- 如何恢复数据

goo*_*boy 2 mysql redhat upgrade rpm yum

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

Distributor ID: RedHatEnterpriseServer
Description:    Red Hat Enterprise Linux Server release 6.10 (Santiago)
Release:        6.10
Codename:       Santiago
Run Code Online (Sandbox Code Playgroud)

并且之前安装了 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
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试启动 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.
Run Code Online (Sandbox Code Playgroud)

2019-04-23T23:38:32.619209Z 1 [ERROR] [MY-013168] [InnoDB] 无法将 5.7 之前的服务器升级到 8.0

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

编辑

我卸载了 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
Run Code Online (Sandbox Code Playgroud)

goo*_*boy 5

找到了一个相关的帖子并开始了。参考:解决方案

这个解决方案对我有用。

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