Переход с MariaDB 10.2 на MariaDB 10.3
Как выполнить обновление
Для Windows, см. Обновление MariaDB в Windows вместо этого.
Для MariaDB Galera Cluster, см. Переход с MariaDB 10.2 на MariaDB 10.3 с Galera Cluster вместо этого.
Перед обновлением рекомендуется сделать резервную копию базы данных. Это всегда хорошая практика перед обновлением. Мы рекомендуем Mariabackup.
Рекомендуемая процедура обновления:
- Измените конфигурацию репозитория, чтобы система менеджер пакетов установил MariaDB 10.3. Например,
- В Debian, Ubuntu и других похожих дистрибутивах Linux, см. Обновление репозитория MariaDB APT до новой основной версии для получения дополнительной информации.
- В RHEL, CentOS, Fedora и других похожих дистрибутивах Linux, см. Обновление репозитория MariaDB YUM до новой основной версии для получения дополнительной информации.
- В SLES, OpenSUSE и других похожих дистрибутивах Linux, см. Обновление репозитория MariaDB ZYpp до новой основной версии для получения дополнительной информации.
-
Остановить MariaDB. Сервер должен быть корректно остановлен, без необработанных транзакций. innodb_fast_shutdown должен быть установлен в
0или1, а innodb_force_recovery должен быть меньше3. - Удалить старую версию MariaDB.
- В Debian, Ubuntu и других похожих дистрибутивах Linux, выполните следующее:
sudo apt-get remove mariadb-server - В RHEL, CentOS, Fedora и других похожих дистрибутивах Linux, выполните следующее:
sudo yum remove MariaDB-server - В SLES, OpenSUSE и других похожих дистрибутивах Linux, выполните следующее:
sudo zypper remove MariaDB-server
- В Debian, Ubuntu и других похожих дистрибутивах Linux, выполните следующее:
- Установить новую версию MariaDB.
- В Debian, Ubuntu и других похожих дистрибутивах Linux, см. Установка пакетов MariaDB с помощью APT для получения дополнительной информации.
- В RHEL, CentOS, Fedora и других похожих дистрибутивах Linux, см. Установка пакетов MariaDB с помощью YUM для получения дополнительной информации.
- В SLES, OpenSUSE и других похожих дистрибутивах Linux, см. Установка пакетов MariaDB с помощью ZYpp для получения дополнительной информации.
- Внесите необходимые изменения в параметры конфигурации в файлах опций, такие как
my.cnf. Это включает удаление любых опций, которые больше не поддерживаются. - Запустить MariaDB.
- Выполните
mysql_upgrade.-
mysql_upgradeвыполняет две задачи:- Обеспечивает полную совместимость системных таблиц в базе данных
mysqlс новой версией. - Проводит очень быструю проверку всех таблиц и помечает их как совместимые с новой версией MariaDB.
- Обеспечивает полную совместимость системных таблиц в базе данных
-
Несовместимые изменения между 10.2 и 10.3
На большинстве серверов обновление с 10.2 должно быть безболезненным. Однако есть некоторые изменения, которые могут повлиять на обновление:
Параметры, изменившие значения по умолчанию
| Параметр | Старое значение по умолчанию | Новое значение по умолчанию |
|---|---|---|
| innodb_flush_method | (пустое) | fsync |
| innodb_spin_wait_delay | 6 | 4 |
| performance_schema_max_stage_classes | 150 | 160 |
| plugin_maturity | неизвестно | На единицу меньше зрелости сервера |
Параметры, удаленные или переименованные
Следующие параметры следует удалить или переименовать, если вы используете их в своих файлах опций:
| Параметр | Причина |
|---|---|
| innodb_buffer_pool_populate | Использовался только в XtraDB |
| innodb_cleaner_lsn_age_factor | Использовался только в XtraDB |
| innodb_corrupt_table_action | Использовался только в XtraDB |
| innodb_empty_free_list_algorithm | Использовался только в XtraDB |
| innodb_fake_changes | Использовался только в XtraDB |
| innodb_file_format | Формат файла InnoDB теперь Barracuda, а старый формат Antelope больше не поддерживается. |
| innodb_file_format_check | Больше не требуется, так как формат файла InnoDB Antelope больше не поддерживается. |
| innodb_file_format_max | Больше не требуется, так как формат файла InnoDB Antelope больше не поддерживается. |
| innodb_foreground_preflush | Использовался только в XtraDB |
| innodb_instrument_semaphores | |
| innodb_kill_idle_transaction | Использовался только в XtraDB |
| innodb_large_prefix | Большие префиксы ключей индексов стали значениями по умолчанию начиная с MariaDB 10.2, а ограничение таблиц на малые префиксы больше не допускается в MariaDB 10.3. |
| innodb_locking_fake_changes | Использовался только в XtraDB |
| innodb_log_arch_dir | Использовался только в XtraDB |
| innodb_log_arch_expire_sec | Использовался только в XtraDB |
| innodb_log_archive | Использовался только в XtraDB |
| innodb_log_block_size | Использовался только в XtraDB |
| innodb_log_checksum_algorithm | Переведено на innodb_log_checksums (NONE в OFF, всё остальное в ON); существовало только для упрощения перехода с более ранних версий XtraDB. |
| innodb_mtflush_threads | Заменено переменной innodb_page_cleaners. |
| innodb_sched_priority_cleaner | Использовался только в XtraDB |
| innodb_show_locks_held | Использовался только в XtraDB |
| innodb_show_verbose_locks | Использовался только в XtraDB |
| innodb_support_xa | Транзакции XA всегда поддерживаются. |
| innodb_use_fallocate | |
| innodb_use_global_flush_log_at_trx_commit | Использовался только в XtraDB |
| innodb_use_mtflush | Заменено переменной innodb_page_cleaners. |
| innodb_use_stacktrace | Использовался только в XtraDB |
| innodb_use_trim |
Зарезервированные слова
- Новые зарезервированные слова: EXCEPT и INTERSECT. Они больше не могут использоваться в качестве идентификаторов без кавычек.
SQL_MODE=ORACLE
- MariaDB 10.3 добавила важные новые возможности совместимости с Oracle. Если вы выполнили обновление и используете эту настройку, пожалуйста, внимательно ознакомьтесь с изменениями.
Функции
- В результате реализации конструкторов табличных значений, функция VALUES была переименована в VALUE().
- Функции, которые раньше возвращали только 64-битные значения, теперь могут возвращать 32-битные результаты (MDEV-12619). Это может вызвать несовместимость со строго типизированными клиентами.
mysqldump
-
mysqldump в MariaDB 10.3 включает логику для обработки таблицы mysql.transaction_registry.
mysqldumpиз более ранней версии MariaDB не может использоваться в MariaDB 10.3 и более поздних версиях.
Резервное копирование MariaDB и Percona XtraBackup
- Percona XtraBackup несовместим с MariaDB 10.3. Установки, использующие XtraBackup, должны обновить его до MariaDB Backup перед обновлением до MariaDB 10.3.
Права доступа
- Если у пользователя есть право SUPER, но нет права
DELETE HISTORY, выполнение mysql_upgrade предоставит и правоDELETE HISTORY.
Основные новые возможности, которые стоит рассмотреть
Вы можете рассмотреть следующие основные новые возможности в MariaDB 10.3:
- Системные таблицы с версиями
- Последовательности
- См. также Системные переменные, добавленные в MariaDB 10.3.
См. также
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/upgrading-from-mariadb-102-to-mariadb-103/