Переключение между различными установленными версиями MariaDB
Эта статья посвящена управлению множеством различных установленных версий MariaDB и запуску их по одной за раз. Это полезно при проведении бенчмаркинга, тестировании или при разработке различных версий MariaDB.
Это наиболее просто делается с использованием файлов tar с сайта mariadb.org/download/.
Остановка предварительно установленного MySQL/MariaDB для предотвращения вмешательства в ваши тесты
Если MySQL/MariaDB уже установлен и запущен, у вас есть два варианта:
- Используйте тестовые серверы MariaDB с другим портом и сокетом.
- В этом случае вам, вероятно, лучше всего создать специальный раздел для MariaDB в вашем файле
~/.my.cnf.
- В этом случае вам, вероятно, лучше всего создать специальный раздел для MariaDB в вашем файле
- Остановите mysqld с помощью
/etc/rc.d/mysql stopилиmariadb-admin shutdown.
Обратите внимание, что вам не нужно удалять MySQL!
Как создать бинарный дистрибутив (файл tar)
Вот краткое описание того, как создать файл tar из исходного дистрибутива. Если вы скачали бинарный файл tar, вы можете пропустить этот раздел.
Шаги по созданию бинарного файла tar:
- Определите, куда поместить исходный код. Хорошим местом является
/usr/local/src/mariadb-5.#. - Получите исходный код
- Скомпилируйте исходный код
- Создайте бинарный архив tar.
В результате у вас будет файл tar с именем, например: mariadb-11.0.1-MariaDB-linux-x86_64.tar.gz
Создание структуры каталогов для различных установок
Установите бинарные файлы tar в /usr/local/ с указанными ниже именами каталогов (по одному для каждой версии MariaDB, которую вы хотите использовать), например:
-
mariadb-10.5 -
mariadb-10.6 -
mariadb-10.11 -
mariadb-11.0 -
mariadb-11.1
Выше предполагается, что вы просто тестируете основные версии MariaDB. Если вы тестируете конкретные версии, используйте имена каталогов, например, mariadb-11.0.1
После создания каталогов создайте символическую ссылку с именем mariadb, которая указывает на каталог mariadb-XXX, который вы в данный момент тестируете. При переключении на тестирование другой версии просто обновите символическую ссылку.
Пример:
cd /usr/local tar xfz /tmp/mariadb-11.0.1-linux-systemd-x86_64.tar.gz mv -vi mariadb-11.0.1-MariaDB-systemd-linux-x86_64 mariadb-11.0 ln -vs mariadb-11.0 mariadb
Настройка каталога данных
При настройке каталога данных у вас есть возможность использовать общий каталог базы данных или создавать уникальный каталог базы данных для каждой версии сервера. Для тестирования, вероятно, проще использовать общий каталог. Обратите внимание, что вы можете запустить только один mysqld сервер для одного каталога данных.
Настройка общего каталога данных
Шаги:
- Создайте системного пользователя
mysql, если он у вас еще не создан! (В Linux это делается с помощью командыuseradd). - Создайте каталог (мы называем его
mariadb-dataв примере ниже) или добавьте символическую ссылку на каталог, расположенный в другом месте. - Создайте таблицы разрешений
mysqlс помощью mariadb-install-db
cd /usr/local/ mkdir mariadb-data cd mariadb ./bin/mariadb-install-db --no-defaults --datadir=/usr/local/mariadb-data chown -R mysql mariadb-data mariadb-data/*
Причина использования --no-defaults заключается в том, чтобы гарантировать, что мы не унаследуем неправильные параметры от старого my.cnf.
Настройка различных каталогов данных
Для создания различных каталогов data для каждой установки:
cd mariadb ./scripts/mariadb-install-db --no-defaults chown -R mysql mariadb-data mariadb-data/*
Это создаст каталог data внутри текущего каталога.
Если вы хотите использовать другой диск, выполните следующие действия:
cd mariadb ln -s path-to-empty-directory-for-data data ./scripts/mariadb-install-db --no-defaults --datadir=./data chown -R mysql mariadb-data mariadb-data/*
Запуск сервера MariaDB
Обычные шаги:
rm mariadb ln -s mariadb-# mariadb cd mariadb ./bin/mysqld_safe --no-defaults --datadir=/usr/local/mariadb-data &
Настройка файла .my.cnf для запуска нескольких основных версий MariaDB
Если вы собираетесь многократно запускать/останавливать MariaDB, вам следует создать файл ~/.my.cnf для общих параметров, которые вы используете.
Следующий пример показывает, как использовать нестандартный TCP-порт и сокет (чтобы не конфликтовать с основным сервером MySQL/MariaDB) и как настроить разные параметры для каждого основного сервера:
[client-server] socket=/tmp/mysql.sock port=3306 [mysqld] datadir=/usr/local/mariadb-data [mariadb-11.0] # Options for MariaDB 11.0 [mariadb-11.1] # Options for MariaDB 11.1
Если вы создали файл ~/.my.cnf, вы должны запустить mysqld с --defaults-file=~/.my.cnf вместо --no-defaults в примерах выше.
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/switching-between-different-installed-mariadb-versions/