LINUX.ORG.RU

Upgrade error from mysql 5.7 to 8.0

 


0

1

Добрый день, после обновления mysql до 8 версии получаю ошибку «Data Dictionary initialization failed», подскажите куда копать.


2023-02-19T05:53:41.159497Z 0 [Note] Giving 0 client threads a chance to die gracefully
2023-02-19T05:53:41.160145Z 0 [Note] Shutting down slave threads
2023-02-19T05:53:41.160194Z 0 [Note] Forcefully disconnecting 0 remaining clients
2023-02-19T05:53:41.160246Z 0 [Note] Event Scheduler: Purging the queue. 0 events
2023-02-19T05:53:41.160536Z 0 [Note] Binlog end
2023-02-19T05:53:41.164577Z 0 [Note] Shutting down plugin 'ngram'
2023-02-19T05:53:41.164626Z 0 [Note] Shutting down plugin 'partition'
2023-02-19T05:53:41.164642Z 0 [Note] Shutting down plugin 'BLACKHOLE'
2023-02-19T05:53:41.164662Z 0 [Note] Shutting down plugin 'ARCHIVE'
2023-02-19T05:53:41.164671Z 0 [Note] Shutting down plugin 'PERFORMANCE_SCHEMA'
2023-02-19T05:53:41.164780Z 0 [Note] Shutting down plugin 'MRG_MYISAM'
2023-02-19T05:53:41.164800Z 0 [Note] Shutting down plugin 'MyISAM'
2023-02-19T05:53:41.164836Z 0 [Note] Shutting down plugin 'INNODB_SYS_VIRTUAL'
2023-02-19T05:53:41.164860Z 0 [Note] Shutting down plugin 'INNODB_SYS_DATAFILES'
2023-02-19T05:53:41.164868Z 0 [Note] Shutting down plugin 'INNODB_SYS_TABLESPACES'
2023-02-19T05:53:41.164875Z 0 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN_COLS'
2023-02-19T05:53:41.164882Z 0 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN'
2023-02-19T05:53:41.164912Z 0 [Note] Shutting down plugin 'INNODB_SYS_FIELDS'
2023-02-19T05:53:41.164919Z 0 [Note] Shutting down plugin 'INNODB_SYS_COLUMNS'
2023-02-19T05:53:41.164926Z 0 [Note] Shutting down plugin 'INNODB_SYS_INDEXES'
2023-02-19T05:53:41.164932Z 0 [Note] Shutting down plugin 'INNODB_SYS_TABLESTATS'
2023-02-19T05:53:41.164938Z 0 [Note] Shutting down plugin 'INNODB_SYS_TABLES'
2023-02-19T05:53:41.164945Z 0 [Note] Shutting down plugin 'INNODB_FT_INDEX_TABLE'
2023-02-19T05:53:41.164951Z 0 [Note] Shutting down plugin 'INNODB_FT_INDEX_CACHE'
2023-02-19T05:53:41.164962Z 0 [Note] Shutting down plugin 'INNODB_FT_CONFIG'
2023-02-19T05:53:41.164969Z 0 [Note] Shutting down plugin 'INNODB_FT_BEING_DELETED'
2023-02-19T05:53:41.164975Z 0 [Note] Shutting down plugin 'INNODB_FT_DELETED'
2023-02-19T05:53:41.164981Z 0 [Note] Shutting down plugin 'INNODB_FT_DEFAULT_STOPWORD'
2023-02-19T05:53:41.164987Z 0 [Note] Shutting down plugin 'INNODB_METRICS'
2023-02-19T05:53:41.164994Z 0 [Note] Shutting down plugin 'INNODB_TEMP_TABLE_INFO'
2023-02-19T05:53:41.165000Z 0 [Note] Shutting down plugin 'INNODB_BUFFER_POOL_STATS'
2023-02-19T05:53:41.165006Z 0 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE_LRU'
2023-02-19T05:53:41.165013Z 0 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE'
2023-02-19T05:53:41.165019Z 0 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX_RESET'
2023-02-19T05:53:41.165025Z 0 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX'
2023-02-19T05:53:41.165032Z 0 [Note] Shutting down plugin 'INNODB_CMPMEM_RESET'
2023-02-19T05:53:41.165038Z 0 [Note] Shutting down plugin 'INNODB_CMPMEM'
2023-02-19T05:53:41.165050Z 0 [Note] Shutting down plugin 'INNODB_CMP_RESET'
2023-02-19T05:53:41.165057Z 0 [Note] Shutting down plugin 'INNODB_CMP'
2023-02-19T05:53:41.165063Z 0 [Note] Shutting down plugin 'INNODB_LOCK_WAITS'
2023-02-19T05:53:41.165069Z 0 [Note] Shutting down plugin 'INNODB_LOCKS'
2023-02-19T05:53:41.165075Z 0 [Note] Shutting down plugin 'INNODB_TRX'
2023-02-19T05:53:41.165082Z 0 [Note] Shutting down plugin 'InnoDB'
2023-02-19T05:53:41.165352Z 0 [Note] InnoDB: FTS optimize thread exiting.
2023-02-19T05:53:41.165918Z 0 [Note] InnoDB: Starting shutdown...
2023-02-19T05:53:41.266561Z 0 [Note] InnoDB: Dumping buffer pool(s) to /var/lib/mysql/ib_buffer_pool
2023-02-19T05:53:41.273273Z 0 [Note] InnoDB: Buffer pool(s) dump completed at 230219  8:53:41
2023-02-19T05:53:43.171301Z 0 [Note] InnoDB: Shutdown completed; log sequence number 2108508925731
2023-02-19T05:53:43.171468Z 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
2023-02-19T05:53:43.171484Z 0 [Note] Shutting down plugin 'MEMORY'
2023-02-19T05:53:43.171496Z 0 [Note] Shutting down plugin 'CSV'
2023-02-19T05:53:43.171509Z 0 [Note] Shutting down plugin 'sha256_password'
2023-02-19T05:53:43.171513Z 0 [Note] Shutting down plugin 'mysql_native_password'
2023-02-19T05:53:43.171767Z 0 [Note] Shutting down plugin 'binlog'
2023-02-19T05:53:43.172659Z 0 [Note] /usr/sbin/mysqld: Shutdown complete

2023-02-19T05:53:53.356024Z 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.
2023-02-19T05:53:53.359967Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.32) starting as process 3442
2023-02-19T05:53:53.360016Z 0 [ERROR] [MY-010338] [Server] Can't find error-message file '/usr/share/mysql/errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.
2023-02-19T05:53:53.373509Z 1 [System] [MY-011012] [Server] Starting upgrade of data directory.
2023-02-19T05:53:53.373649Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-02-19T05:53:54.394452Z 1 [ERROR] [MY-012592] [InnoDB] Operating system error number 2 in a file operation.
2023-02-19T05:53:54.394497Z 1 [ERROR] [MY-012593] [InnoDB] The error means the system cannot find the path specified.
2023-02-19T05:53:54.394507Z 1 [ERROR] [MY-012216] [InnoDB] Cannot open datafile for read-only: './db_test/#sql-ib1541-3515854875.ibd' OS error: 71
2023-02-19T05:53:54.394534Z 1 [Warning] [MY-012019] [InnoDB] Ignoring tablespace `db_test/#sql-ib1541-3515854875` because it could not be opened.
2023-02-19T05:53:54.394581Z 1 [ERROR] [MY-012592] [InnoDB] Operating system error number 2 in a file operation.
2023-02-19T05:53:54.394602Z 1 [ERROR] [MY-012593] [InnoDB] The error means the system cannot find the path specified.
2023-02-19T05:53:54.394609Z 1 [ERROR] [MY-012216] [InnoDB] Cannot open datafile for read-only: './db_test/#sql-ib2013-4209265673.ibd' OS error: 71
2023-02-19T05:53:54.394616Z 1 [Warning] [MY-012019] [InnoDB] Ignoring tablespace `db_test/#sql-ib2013-4209265673` because it could not be opened.
2023-02-19T05:53:54.431356Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-02-19T05:53:54.978103Z 1 [ERROR] [MY-011006] [Server] Got error 197 from SE while migrating tablespaces.
2023-02-19T05:53:54.986095Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2023-02-19T05:53:54.986155Z 0 [ERROR] [MY-010119] [Server] Aborting
2023-02-19T05:53:56.443408Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.32)  MySQL Community Server - GPL.
2023-02-19T05:53:57.272837Z 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.
2023-02-19T05:53:57.275141Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.32) starting as process 3563
2023-02-19T05:53:57.275195Z 0 [ERROR] [MY-010338] [Server] Can't find error-message file '/usr/share/mysql/errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.
2023-02-19T05:53:57.285273Z 1 [System] [MY-011012] [Server] Starting upgrade of data directory.
2023-02-19T05:53:57.285882Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-02-19T05:53:58.330105Z 1 [ERROR] [MY-012592] [InnoDB] Operating system error number 2 in a file operation.
2023-02-19T05:53:58.330164Z 1 [ERROR] [MY-012593] [InnoDB] The error means the system cannot find the path specified.
2023-02-19T05:53:58.330183Z 1 [ERROR] [MY-012216] [InnoDB] Cannot open datafile for read-only: './db_test/#sql-ib1541-3515854875.ibd' OS error: 71
2023-02-19T05:53:58.330202Z 1 [Warning] [MY-012019] [InnoDB] Ignoring tablespace `db_test/#sql-ib1541-3515854875` because it could not be opened.
2023-02-19T05:53:58.330297Z 1 [ERROR] [MY-012592] [InnoDB] Operating system error number 2 in a file operation.
2023-02-19T05:53:58.330316Z 1 [ERROR] [MY-012593] [InnoDB] The error means the system cannot find the path specified.
2023-02-19T05:53:58.330335Z 1 [ERROR] [MY-012216] [InnoDB] Cannot open datafile for read-only: './db_test/#sql-ib2013-4209265673.ibd' OS error: 71
2023-02-19T05:53:58.330350Z 1 [Warning] [MY-012019] [InnoDB] Ignoring tablespace `db_test/#sql-ib2013-4209265673` because it could not be opened.
2023-02-19T05:53:58.371234Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-02-19T05:53:58.893662Z 1 [ERROR] [MY-011006] [Server] Got error 197 from SE while migrating tablespaces.
2023-02-19T05:53:58.900710Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2023-02-19T05:53:58.900740Z 0 [ERROR] [MY-010119] [Server] Aborting
2023-02-19T05:54:00.340820Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.32)  MySQL Community Server - GPL.
2023-02-19T05:56:45.153863Z 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.
2023-02-19T05:56:45.157418Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.32) starting as process 4257
2023-02-19T05:56:45.157513Z 0 [ERROR] [MY-010338] [Server] Can't find error-message file '/usr/share/mysql/errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.



Ответ на: комментарий от Anoxemian

Я так понял ругается на отсутствие файла таблицы [ERROR] [MY-012216] [InnoDB] Cannot open datafile for read-only: ‘./db_test/#sql-ib1541-3515854875.ibd’ OS error: 71

Но до обновления mysql стартует без проблем, хоть и ругается на это в логах, после обновления не стартует

Я пытался несколько дней удалить эти временные таблицы, но их нет на диске, а удалить не получается записи о них…..

sdllll
() автор топика
Ответ на: комментарий от goingUp

Дамп достаточно большой, на текущем рабочем сервере места в притык, хочу не допустить простоя в работе, на нем постоянно пользователи работают.

Развернул параллельно копию сервера, пытаюсь решить проблему обновления на текущей базе без дампов.

sdllll
() автор топика
Ответ на: комментарий от sdllll

Дамп достаточно большой

Сжатие поможет

mysqldump bla-bla | xz bla-bla

Можно заливать дамп с другого компа

Ты смотри как бы простой не случился из-за поврежденной навсегда базы)

goingUp ★★★★★
()
Последнее исправление: goingUp (всего исправлений: 1)
Ответ на: комментарий от goingUp

То есть обновление с 5.7 на 8 в принципе не рабочее? Я обновляю не на рабочем сервере, а на тестовом, добившись результата на тестовом, уже можно будет переходить к рабочему.

sdllll
() автор топика
Ответ на: комментарий от goingUp

Ок, если отталкиваться от проблемы с временной несуществующей таблицей (двумя судя по логам), есть возможность ее исправить? проблема так понимаю именно в этом?

sdllll
() автор топика
Ответ на: комментарий от sdllll

Поскольку innodb никогда не ломается (по версии её авторов), то и инструментов для её починки практически нет. А вот было бы myisam всё было бы намного проще.

firkax ★★★★★
()

Я бы начал с чтения документации где сказано о двоичной совместимости 5.7 и 8.0.

Возможно нужно обновляться через какую-то определенную промежуточную версию.

IMHO в данном случае, восстановить из дампа - лучший способ.

vel ★★★★★
()
Ответ на: комментарий от vel

Да это работает. Примерно за 3 часа обновляется (экспорт импорт дампа обновление), но все еще ищу другое решение, чтобы избежать простоя

Временные таблицы с таким именем:

SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE ‘%#sql%’; test_db/#sql-ib1541-3515854875

при удалении не находит (так как самого файла нет на диске, но есть в таблице в метаданных) drop table #sql-ib1541-3515854875; drop table #mysql50##sql-ib1541-3515854875;

sdllll
() автор топика

Ты перепрыгнул через 3 мажорных версии mysql была попытка миграции, но всё провалилось и твоя бд превратилась в тыкву. Попробуй поставить всё взад, потом поставить отдельно где-нибудь mysql 8 и мигрировать руками.

crutch_master ★★★★★
()
Ответ на: комментарий от crutch_master

дело не в версиях, а в ошибках моей исходной базы innodb, из-за наличия удаленных вручную временных таблиц из папки /var/lib/mysql/db_test

Такие таблицы видно по запросам SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE ‘%#sql%’;

sdllll
() автор топика