Перейти к содержанию

Обновление систем с механизмами хранения MyRocks или TokuDB и секционированными таблицами

Из-за ограничений, налагаемых MySQL, поддержка секционирования таблиц обеспечивается механизмом хранения. MySQL 8.0 обеспечивает поддержку секционированных таблица только для механизма хранения InnoDB.

Если вы используете секционированные таблицы с механизмом хранения MyRocks или TokuDB, обновление может завершиться неудачно, если вы не включите собственное секционирование, предоставляемое механизмом хранения.

Предупреждение

Механизм хранения TokuDB больше не поддерживается. Для получения дополнительной информации см. TokuDB changes in Percona Server for MySQL by version в документации Percona Server.

Прежде чем попытаться выполнить обновление, проверьте, есть ли у вас таблицы, не использующие собственное секционирование.

$ mysqlcheck -u root --all-databases --check-upgrade

Если таблицы найдены, mysqlcheck выдает предупреждение:

Пример вывода mysqlcheck
Enable either the rocksdb_enable_native_partition variable or
the tokudb_enable_native_partition variable depending on the storage
engine and restart the server.

Следующим шагом будет изменение таблиц, которые не используют собственное секционирование, с помощью указания UPGRADE PARTITIONING:

ALTER TABLE <имя-таблицы> UPGRADE PARTITIONING;

Выполните эти шаги для каждой таблицы, указанной в списке mysqlcheck. В противном случае обновление до версии 8.0 завершится неудачно, и в журнале ошибок появятся следующие сообщения:

Журнал ошибок при неудачном обновлении
2018-12-17T18:34:14.152660Z 2 [ERROR] [MY-013140] [Server] The 'partitioning' feature is not available; you need to remove '--skip-partition' or use MySQL built with '-DWITH_PARTITION_STORAGE_ENGINE=1'
2018-12-17T18:34:14.152679Z 2 [ERROR] [MY-013140] [Server] Can't find file: './comp_test/t1_RocksDB_lz4.frm' (errno: 0 - Success)
2018-12-17T18:34:14.152691Z 2 [ERROR] [MY-013137] [Server] Can't find file: './comp_test/t1_RocksDB_lz4.frm' (OS errno: 0 - Success)

Обновление дистрибутива Linux «на месте» в системе с установленными пакетами MyDB.

Ниже приведен рекомендуемый процесс выполнения обновления дистрибутива в системе с установленными пакетами MyDB:

  1. Запишите установленные пакеты MyDB.

  2. Создайте резервную копию данных и конфигураций.

  3. Удалите пакеты MyDB, не удаляя файл конфигурации или данные.

  4. Выполните обновление, следуя инструкциям по обновлению дистрибутива.

  5. Перезагрузите систему.

  6. Установите пакеты MyDB, предназначенные для обновленной версии дистрибутива.


Последнее обновление: 2024-04-30