Bug #97168 | Upgrade 5.7 to 8.0 fails: "Data Dictionary upgrade from MySQL 5.7 in progress" | ||
---|---|---|---|
Submitted: | 9 Oct 2019 23:33 | Modified: | 11 Oct 2019 20:49 |
Reporter: | Adam Friedman | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server | Severity: | S1 (Critical) |
Version: | 8.0 | OS: | Ubuntu (18.04) |
Assigned to: | MySQL Verification Team | CPU Architecture: | Any |
[9 Oct 2019 23:33]
Adam Friedman
[10 Oct 2019 10:29]
Lars Tangvald
Hi, The service line about the missing apparmor loader shouldn't be fatal, but is a bit odd on a Ubuntu 18.04 system. Is apparmor installed? Could you check in the error log at /var/log/mysql/error.log if there are any lines with "ERROR" in them? They might show what the issue is.
[10 Oct 2019 10:42]
MySQL Verification Team
Hi Adam, As Lars said, the apparmor should not be fatal, can you upload the whole mysql error log. thanks
[10 Oct 2019 15:02]
Adam Friedman
Here is the corresponding entry in /var/log/mysql/error.log: 2019-10-10T14:52:19.124803Z 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-10-10T14:52:19.124834Z 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-10-10T14:52:19.126852Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.17) starting as process 855 2019-10-10T14:52:19.126909Z 0 [Warning] [MY-010339] [Server] Using pre 5.5 semantics to load error messages from /usr/share/mysql/. If this is not intended, refer to the documentation for valid usage of --lc-messages-dir and --language parameters. 2019-10-10T14:52:19.126929Z 0 [ERROR] [MY-010342] [Server] Can't read from messagefile '/usr/share/mysql/errmsg.sys' 2019-10-10T14:52:19.137755Z 1 [System] [MY-011012] [Server] Starting upgrade of data directory. 100 200 100 200 mysqld: Duplicate entry 'innodb_system' for key 'name' 2019-10-10T14:52:21.046135Z 1 [ERROR] [MY-011006] [Server] Got error 168 from SE while migrating tablespaces. 2019-10-10T14:52:21.051830Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed. 2019-10-10T14:52:21.052106Z 0 [ERROR] [MY-010119] [Server] Aborting 2019-10-10T14:52:22.655955Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.17) MySQL Community Server - GPL. 2019-10-10T14:52:23.594891Z 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-10-10T14:52:23.594920Z 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-10-10T14:52:23.598550Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.17) starting as process 979 2019-10-10T14:52:23.598617Z 0 [Warning] [MY-010339] [Server] Using pre 5.5 semantics to load error messages from /usr/share/mysql/. If this is not intended, refer to the documentation for valid usage of --lc-messages-dir and --language parameters. 2019-10-10T14:52:23.598639Z 0 [ERROR] [MY-010342] [Server] Can't read from messagefile '/usr/share/mysql/errmsg.sys' 2019-10-10T14:52:23.609966Z 1 [System] [MY-011012] [Server] Starting upgrade of data directory. 100 200 100 200 mysqld: Duplicate entry 'innodb_system' for key 'name' 2019-10-10T14:52:25.325165Z 1 [ERROR] [MY-011006] [Server] Got error 168 from SE while migrating tablespaces. 2019-10-10T14:52:25.331997Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed. 2019-10-10T14:52:25.332328Z 0 [ERROR] [MY-010119] [Server] Aborting 2019-10-10T14:52:26.866011Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.17) MySQL Community Server - GPL
[10 Oct 2019 15:17]
Adam Friedman
I see this bug may be a duplicate of this one: https://bugs.mysql.com/bug.php?id=90711 -- I have this relic row "innodb_system" in my information_schema.INNODB_SYS_TABLESPACES which seems to be the root of the problem: mysql> select * from INNODB_SYS_TABLESPACES where name like '%innodb%'; +-------+--------------------------+------+-------------+----------------------+-----------+---------------+------------+---------------+-----------+----------------+ | SPACE | NAME | FLAG | FILE_FORMAT | ROW_FORMAT | PAGE_SIZE | ZIP_PAGE_SIZE | SPACE_TYPE | FS_BLOCK_SIZE | FILE_SIZE | ALLOCATED_SIZE | +-------+--------------------------+------+-------------+----------------------+-----------+---------------+------------+---------------+-----------+----------------+ | 0 | innodb_system | 0 | Antelope | Compact or Redundant | 16384 | 0 | System | 0 | 0 | 0 | | 36855 | mysql/innodb_index_stats | 33 | Barracuda | Dynamic | 16384 | 0 | Single | 4096 | 245760 | 245760 | | 36856 | mysql/innodb_table_stats | 33 | Barracuda | Dynamic | 16384 | 0 | Single | 4096 | 98304 | 98304 | +-------+--------------------------+------+-------------+----------------------+-----------+---------------+------------+---------------+-----------+----------------+ 3 rows in set (0.00 sec)
[11 Oct 2019 18:34]
MySQL Verification Team
Hi, I fear your path to this version you have now led trough some not so good binaries, I fear you were even running some unreleased ones :( .. in any case, I doubt there's anything we can do now except offer a workaround -> dump/restore. Not a very fast or nice or on-line one but... all best
[11 Oct 2019 20:49]
Adam Friedman
Yes: I solved my problem (or worked around it) by: [1] Dumping the databases I wanted to keep into an SQL file. [2] Deleted the /var/lib/mysql data binaries. [3] Removed all mysql 5.7 software packages from the system. [4] Re-installed all newest mysql 5.7 software packages. (This recreated the system tables without the offending relic). [5] Re-imported from the SQL file I generated in step 1. [6] Proceeded with normal in-place upgrade path for MySQL 8. Thanks!