Spec-Zone.ru › MariaDB

Переход с MySQL на MariaDB

Для практических целей, вы можете рассматривать MariaDB как обновление MySQL:

  • Перед обновлением, пожалуйста, проверьте наличие известных несовместимостей между вашей версией MySQL и версией MariaDB, на которую вы хотите перейти.
  • В частности, обратите внимание, что тип JSON в MariaDB является LONGTEXT, а в MySQL — бинарным типом. См. Совместимость MariaDB с JSON MySQL.
  • Если вы используете MySQL 8.0 или выше, вам необходимо использовать mysqldump для переноса вашей базы данных в MariaDB.
  • Для обновления с очень старых версий MySQL см. Обновление до MariaDB с MySQL 5.0 (или более старой версии).
  • В рамках одной и той же базовой версии (например, MySQL 5.5 -> MariaDB 5.5, MySQL 5.6 -> MariaDB 10.0 и MySQL 5.7 -> MariaDB 10.2) в большинстве случаев вы можете просто удалить MySQL и установить MariaDB, и всё будет работать. Нет необходимости делать дамп и восстанавливать базы данных. Как и при любом обновлении, мы рекомендуем создать резервную копию ваших данных заранее.
  • Вы должны запустить mariadb-upgrade (как вы бы сделали с mysql_upgrade в MySQL), чтобы завершить обновление. Это необходимо для того, чтобы ваши привилегии MySQL и таблицы событий были обновлены с новыми полями, используемыми MariaDB. Обратите внимание, что если вы используете пакет MariaDB, mariadb-upgrade обычно выполняется автоматически.
  • Все ваши старые клиенты и коннекторы (PHP, Perl, Python, Java и т.д.) будут работать без изменений (нет необходимости перекомпилировать). Это работает, потому что MariaDB и MySQL используют тот же протокол клиента, а клиентские библиотеки совместимы на бинарном уровне. Вы также можете использовать свои старые пакеты коннекторов MySQL с MariaDB, если хотите.

Обновление на Windows

В Windows не следует удалять MySQL и устанавливать MariaDB, так как это не сработает, и существующая база данных не будет найдена.

Таким образом, в Windows просто установите MariaDB и используйте мастер обновления, который входит в пакет установки и запускается установщиком MSI. Или, если вы предпочитаете командную строку, используйте mysql_upgrade_service <service_name> в командной строке.

Обновление my.cnf

Все параметры в вашем исходном MySQL my.cnf файле должны работать нормально для MariaDB.

Однако, так как MariaDB имеет больше функций, чем MySQL, есть несколько вещей, которые вы должны рассмотреть для изменения в вашем my.cnf файле.

  • MariaDB по умолчанию использует хранилище Aria для внутренних временных файлов вместо MyISAM. Если у вас много временных файлов, вы должны добавить и установить aria-pagecache-buffer-size в то же значение, что и у key-buffer-size.
  • Если вы не используете таблицы MyISAM, вы можете установить key-buffer-size в очень низкое значение, например, 64К.
  • Если вы используете MariaDB 10.1 или более ранние версии, и ваши приложения часто подключаются и отключаются от MariaDB, вы должны настроить thread-cache-size на количество потоков одновременных запросов, которые вы обычно используете. Это важно в MariaDB, так как мы используем механизм выделения памяти jemalloc. jemalloc обычно имеет лучшую производительность при работе с множеством потоков по сравнению с другими механизмами выделения памяти, за исключением случаев создания и уничтожения большого количества потоков, в которых случае он будет тратить много ресурсов, пытаясь управлять хранилищем, специфичным для потока. Кэширование потоков решит эту проблему.
  • Если у вас большое количество подключений (> 100), которые в основном выполняют короткие запросы, вы должны рассмотреть использование пула потоков. Например, использование: thread_handling=pool-of-threads и thread_pool_size=128 может обеспечить заметный прирост производительности в этом случае. Где thread_pool_size должно быть примерно 2 * number of cores on your machine.

Другие моменты, требующие внимания

  • Представления с определением ALGORITHM=MERGE или ALGORITHM=TEMPTABLE случайно поменялись местами между MariaDB и MySQL. Вам необходимо пересоздать представления, созданные с любым из этих определений (см. MDEV-6916).
  • MariaDB имеет версии LGPL C-коннектора и Java-клиента. Если вы выпускаете приложение, которое поддерживает MariaDB или MySQL, вы должны рассмотреть возможность использования этих версий!
  • Вы должны рассмотреть возможность использования MyRocks хранилища или некоторых других новых хранилищ, предоставляемых MariaDB.

См. также

  • MariaDB имеет множество новых функций, о которых вам следует знать.
  • MariaDB против MySQL — Совместимость
  • Миграция на MariaDB
  • Общие сведения об обновлении можно найти на странице установки MariaDB.
  • Существует видеоролик по обновлению с MySQL на MariaDB.
  • Обновление до MariaDB в Debian 9
Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется предварительно компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 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-mysql-to-mariadb/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API