Обновление с MariaDB 10.1 на MariaDB 10.2
Как выполнить обновление
Для Windows см. Обновление MariaDB в Windows вместо этого.
Для кластера MariaDB Galera см. Обновление с MariaDB 10.1 до MariaDB 10.2 с кластером Galera вместо этого.
Перед обновлением рекомендуется создать резервную копию базы данных. Это всегда хорошая практика перед обновлением. Мы рекомендуем Mariabackup.
Предлагаемая процедура обновления:
- Измените конфигурацию репозитория, чтобы менеджер пакетов системы устанавливал MariaDB 10.2. Например,
- В дистрибутивах Linux, подобных Debian, Ubuntu и другим, см. Обновление репозитория MariaDB APT до новой версии для получения дополнительной информации.
- В дистрибутивах Linux, подобных RHEL, CentOS, Fedora и другим, см. Обновление репозитория MariaDB YUM до новой версии для получения дополнительной информации.
- В дистрибутивах Linux, подобных SLES, OpenSUSE и другим, см. Обновление репозитория MariaDB ZYpp до новой версии для получения дополнительной информации.
- Установите
innodb_fast_shutdownв0. Его можно динамически изменить с помощьюSET GLOBAL. Например:
SET GLOBAL innodb_fast_shutdown=0;- Этот шаг не требуется при обновлении до MariaDB 10.2.5 или более поздних версий. Пропуск этого шага может значительно ускорить процесс обновления. См. MDEV-12289 для получения дополнительной информации.
- Остановить MariaDB.
- Удалите старую версию MariaDB.
- В дистрибутивах Linux, подобных Debian, Ubuntu и другим, выполните следующее:
sudo apt-get remove mariadb-server - В дистрибутивах Linux, подобных RHEL, CentOS, Fedora и другим, выполните следующее:
sudo yum remove MariaDB-server - В дистрибутивах Linux, подобных SLES, OpenSUSE и другим, выполните следующее:
sudo zypper remove MariaDB-server
- В дистрибутивах Linux, подобных Debian, Ubuntu и другим, выполните следующее:
- Установите новую версию MariaDB.
- В дистрибутивах Linux, подобных Debian, Ubuntu и другим, см. Установка пакетов MariaDB с помощью APT для получения дополнительной информации.
- В дистрибутивах Linux, подобных RHEL, CentOS, Fedora и другим, см. Установка пакетов MariaDB с помощью YUM для получения дополнительной информации.
- В дистрибутивах Linux, подобных SLES, OpenSUSE и другим, см. Установка пакетов MariaDB с помощью ZYpp для получения дополнительной информации.
- Внесите необходимые изменения в параметры конфигурации в файлах параметров, такие как
my.cnf. Это включает удаление любых параметров, которые больше не поддерживаются. - Запустить MariaDB.
- Выполните
mysql_upgrade.-
mysql_upgradeвыполняет две задачи:- Обеспечивает полную совместимость системных таблиц в базе данных
mysqlс новой версией. - Выполняет быструю проверку всех таблиц и помечает их как совместимые с новой версией MariaDB.
- Обеспечивает полную совместимость системных таблиц в базе данных
-
Несовместимые изменения между 10.1 и 10.2
Обновление с 10.1 на большинстве серверов должно быть безболезненным. Однако есть некоторые изменения, которые могут повлиять на обновление:
InnoDB вместо XtraDB
MariaDB 10.2 использует InnoDB в качестве движка хранения по умолчанию, а не XtraDB, который использовался в MariaDB 10.1 и ранее. См. Почему MariaDB 10.2 использует InnoDB вместо XtraDB? В большинстве случаев это должно минимально повлиять, так как последняя версия InnoDB включает большинство улучшений, внесённых в предыдущие версии XtraDB. Обратите внимание, что определённые переменные системы XtraDB теперь игнорируются (хотя они всё ещё существуют, чтобы обеспечить лёгкое обновление).
Параметры, изменившие значения по умолчанию
Обратите особое внимание на изменения в значениях по умолчанию для innodb_strict_mode, sql_mode, binlog_format, binlog_checksum и innodb_checksum_algorithm.
Параметры, которые были удалены или переименованы
Следующие параметры следует удалить или переименовать, если вы используете их в своих файлах параметров:
| Параметр | Причина |
|---|---|
| aria_recover | Переименовано в aria_recover_options, чтобы соответствовать myisam_recover_options. |
| innodb_additional_mem_pool_size | Устарел в MariaDB 10.0. |
| innodb_api_bk_commit_interval | В MariaDB никогда не реализовывался Memcache. |
| innodb_api_disable_rowlock | В MariaDB никогда не реализовывался Memcache. |
| innodb_api_enable_binlog | В MariaDB никогда не реализовывался Memcache. |
| innodb_api_enable_mdl | В MariaDB никогда не реализовывался Memcache. |
| |innodb_api_trx_level | В MariaDB никогда не реализовывался Memcache. |
| innodb_use_sys_malloc | Устарел в MariaDB 10.0. |
Зарезервированные слова
Новые зарезервированные слова: OVER, RECURSIVE и ROWS. Теперь их нельзя использовать в качестве идентификаторов без кавычек.
TokuDB
TokuDB был разделен на отдельный пакет, mariadb-plugin-tokudb.
Репликация
Репликация с устаревших серверов MySQL может потребовать установки значения binlog_checksum в NONE.
Режим SQL
SQL_MODE был изменён; в частности, поля NOT NULL без значения по умолчанию больше не будут использовать значение по умолчанию для вставок, которые не указывают значение для этого поля.
Автоинкремент
Автоинкрементные столбцы больше не разрешены в ограничениях CHECK, выражениях значения по умолчанию и виртуальных столбцах. Они были разрешены в более ранних версиях, но работали некорректно.
TLS
Начиная с MariaDB 10.2, когда пользователь указывает параметр --ssl с клиентом или утилитой, клиент или утилита по умолчанию не будут проверять сертификат сервера. Для проверки сертификата сервера, пользователь должен указать параметр --ssl-verify-server-cert для клиента или утилиты. Более подробную информацию см. в списке параметров для mysql клиента.
Основные новые функции, которые следует рассмотреть
Вы можете рассмотреть использование следующих основных новых функций в MariaDB 10.2:
- Функции окон
- mysqlbinlog теперь поддерживает непрерывные резервные копии двоичного журнала
- Рекурсивные общие табличные выражения
- Функции JSON
- См. также Системные переменные, добавленные в MariaDB 10.2.
См. также
© 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-101-to-mariadb-102/