Как изменить версию mysql ispmanager

Сегодня мы рассмотрим вопрос как обновить СУБД входящую в стандартный репозитарий ISPmanager5 CentOS7 как правило это MariaDB 5.5. Для чего это может быть

Сегодня мы рассмотрим вопрос как обновить СУБД входящую в стандартный репозитарий ISPmanager5 CentOS7 как правило это MariaDB 5.5.

Для чего это может быть необходимо ?

Например CMS Bitrix управление сайтом в актуальной редакции требует СУБД не ниже MySQL 5.6 и выше.

Приступим…

  1. Подключаемся по SSH
  2. Создаем бэкап баз данных.
cp -v -a /var/lib/mysql/ /var/lib/mysql_backup

Обновляем систему до актуального состояния.

yum update

Включаем официальный репозиторий для mariadb

yum install nano epel-release -y

Теперь создаем файл:

nano /etc/yum.repos.d/mariadb.repo

Добавим от сюда или наш конфиг ниже для CentOS 7 64

# MariaDB 10.3 CentOS repository list - created 2020-05-28 04:20 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Ctrl+X, — Y — Enter

Останавливаем MySQL

service mariadb stop

Запускаем обновление

yum update

Запускаем MariaDB:

mkdir -p /var/run/mysqld
chown -R mysql:mysql /var/run/mysqld
systemctl enable mariadb
service mariadb start

Проверяем статус

service mariadb status

Если все нормально и сервис запущен, выполняем обновление баз данных.

mysql_upgrade

Далее необходимо обновить путь в ISPmanager до исполняемого файла mysqld

Для этого сначала посмотрим актуальный путь командой

which mysqld

Пропишем актуальный путь в файле

/usr/local/mgr5/etc/ispmgr.conf.d/mysql.conf

В нашем случае необходимо актуализировать последнюю строчку на path mysqld /usr/sbin/mysqld

Перезапустим панель управления ISPmanager

killall core

Заходим в панель управления «Настройки — Серверы баз данных — MySQL-> Изменить»

Устанавливаем чекбокс на «Установить новый пароль»

Применяем настройку и переходим в раздел «Настройки»

Здесь необходимо сбросить на «по умолчанию» строку pid-file

Применяем изменения и наслаждаемся работой новой MariaDB 10.3, так же не забываем удалить созданный нами бэкап на первых шагах через некоторое время когда удостоверимся что проблем нет.

Для обеспечения производительности и безопасности WordPress рекомендует использовать систему управления базами данных (СУБД) — MariaDB версии 10.0 или новее. Давайте разберёмся как изменить тип сервера баз данных существующего сайта на примере панели ISPmanager 6.

Содержание

  1. В чём разница между MySQL и MariaDB
  2. Как определить текущую версию базы данных WP-сайта
  3. Смена типа сервера БД в ISPmanager 6
  4. Ограничения репликации

Все, кто озабочен здоровьем проекта внимательно следят за уведомлениями WordPress. Сегодня получила устрашающее предупреждение об использовании устаревшего программного обеспечения. Я погрузилась в изучение данного вопроса и хочу поделиться своими результатами.

Устаревшая версия СУБД

Люблю экспериментировать и в настоящее время тестирую панель ISPmanager 6, которая позволяет установить несколько различных версий MySQL на одном сервере, что существенно упрощает процесс перехода от одной к другой.

Прежде чем перейти к исправлению ошибки предлагаю немного погрузиться в теорию. Это добавит понимания к выполняемым действиям.

В чём разница между MySQL и MariaDB

MariaDB — ответвление самой популярной системы управления базами данных MySQL. Ведущий финский разработчик обеих версий Микаэль Видениус назвал их в честь своих дочерей Марии и Мю.

Поскольку это форк, API и протоколы используются те же самые, а значит библиотеки и приложения, которые работают в MySQL будут работать и в MariaDB.

В MariaDB добавлены ряд усовершенствований, позволяющих оптимизировать и ускорить работу:

  • запрашиваются только таблицы, необходимые для запроса;
  • внедрён новый тип таблиц в форме колоночного хранилища вместо построчного;
  • начиная с 10-й версии допускается параллельное выполнение запросов;
  • использование механизма хранения во встраиваемой базе данных (RocksDB), что повышает производительность обработки данных на SSD-носителях;
  • хранит документы JSON как строки, а не двоичные объекты.

MariaDB — это улучшенная версия MySQL.

Как определить текущую версию базы данных WP-сайта

Самый простой способ это посмотреть инфу в самой панели WordPress. Перейдите в закладку «Информация» раздела «Здоровье сайта».

Версия СУБД в вордпресс

В моём случае, текущая версия СУБД — 5.5.68-MariaDB, которая выпущена в 2020 году и включает функции MySQL 5.5. И это последняя версия, которая имеет синхронную нумерацию.

Последующие версии MariaDB начинаются с 10-й, чтобы подчеркнуть собственное развитие, а не импорт всех существующих функций MySQL.

Другой мой проект использует более новую версию MySQL 5.7 и никакого сообщения о переходе на другую не поступало. Переходить ли на MariaDB зависит от владельца сайта.

Версия СУБД

Смена типа сервера БД в ISPmanager 6

Процесс состоит из нескольких этапов.

Шаг 1. Создайте новую БД, нажав на кнопку «Create a database». На это потребуется время, поэтому лучше начать с этого пункта.

Создать новую БД

Выберите нужный тип сервера, укажите имя пользователя и пароль. Я выбрала mariadb-10.3.

Создание новой базы данных

Шаг 2. Выделите старую базу и скачайте её копию (дамп) на свой компьютер. В прошлой статье я описывала как создать копию базы данных с помощью phpMyAdmin, сегодня покажу ещё один способ, используя функционал панели ISPmanager 6.

Дамп БД в ISPmanager

Шаг 3. Теперь скачанный файл загрузите в новую БД.

Импорт БД

После 100%-ной загрузки не спешите закрывать окно, по завершению процесса вас автоматически перебросит в окно «Базы данных».

Загрузка базы данных Базы данных в ISPmanager

Шаг 4. Осталось внести изменения в конфигурационный файл. Для этого зайдите в Менеджер файлов, выберите папку «www» с сайтами и перейдите в каталог.

File Manager ISPmanager

Найдите файл wp-config.php и откройте его для редактирования.

Конфигурационный файл вордпресс

Замените имя базы данных на новую, её пользователя и пароль. В качестве адреса сервера вместо «localhost» укажите «127.0.0.1:3310».

Редактирование конфигурационного файла

Теперь в информации о сайте отображается новая версия СУБД.

Версия БД в WordPress

Ограничения репликации

В большинстве случаев вы легко сможете перейти с MySQL на MariaDB, однако обратный процесс может быть невозможным поскольку большинство версий MySQL не поддерживают репликацию с серверов MariaDB.

Кроме того, MySQL 8.0 имеет несовместимый двоичный журнал и вы не сможете перенести базу данных в MariaDB.

Итак, мы разобрались как узнать версию системы управления базами данных в вордпресс, как её изменить, как выполнять экспорт и импорт базы данных в панели ISPmanager 6.

Переход на другой тип сервера БД рекомендую провести предварительно на тестовом аккаунте, отследить возможные ошибки (для этого экспорт и импорт базы данных лучше делать с помощью phpMyAdmin) и проверить скорость работы проекта. В моём конкретном случае скорость просела.

Если вы нашли для себя полезную информацию, то ставьте лайки. Делитесь своим опытом и мнением в комментариях.

На виртуальном хостинге Eternalhost можно создать базы данных, работающие на системах управления MySQL 5.5.60 и MariaDB 10.3.

Далее рассмотрим, как создать новую базу данных на двух этих системах. Также опишем, как перевести существующий сайт с MySQL 5.5.60 на MariaDB 10.3.

Выбор типа сервера при создании новой базы данных

Создание новой базы данных рассмотрено в отдельной инструкции, поэтому подробно рассматривать этот процесс здесь не будем.

При создании базы данных в панели управления хостингом ISPmanager, можно изменить тип её сервера в меню настройки «Новая база данных». Для этого нужно выбрать один из возможных вариантов типа системы управления БД во вкладке «Сервер базы данных».

Для установки MySQL 5.5.60 — «MySQL».

Для установки MariaDB 10.3 — «mariadb-10.3».

При создании нового сайта в параметрах сервера базы данных нужно указать значение, соответствующее созданной ранее БД:

  • Для MySQL 5.5.60 – «localhost».
  • Для MariaDB 10.3 – «127.0.0.1:3310».

Изменение существующего сервера базы данных

Рассмотрим процесс смены системы управления БД на примере перехода от MySQL 5.5.60 к MariaDB 10.3.

  1. Для начала, нужно скачать существующую базу данных на локальный компьютер. Для этого в ISPmanager перейти из раздела «Главное» в «Базы данных», выбрать текущую базу данных на MySQL 5.5.60 и кликнуть «Скачать» в верхнем меню.
  2. Создать новую базу данных. В поле «Сервер баз данных» указать «mariadb-10.3» для установки MariaDB 10.3.
  3. Закачать ранее сохранённую базу данных в новую базу данных на MariaDB 10.3. Для этого в ISPmanager перейти с вкладки «Главное» в раздел «Базы данных», выбрать базу данных на MariaDB 10.3 и кликнуть «Закачать» в верхнем меню.
  4. Изменить параметры базы данных в конфигурационных файлах сайта. Для этого в ISPmanager перейти в «WWW» → WWW-домены, выбрать нужный домен и нажать «Каталог» в верхнем меню.

Далее нужно действовать, согласно установленной CMS. Ниже рассмотрим варианты изменения конфигурационных файлов для самых популярных CMS: WordPress, Joomla и Opencart.

Правка конфигурационного файла WordPress

Выбрать в списке на вкладке «Файлы сайта» файл «wp-config.php» и нажать «Редактирование» → «Открыть» в верхнем меню.

Ввести в файл данные, соответствующие новой базе данных:

define('DB_NAME', 'Имя новой базы данных');
define('DB_USER', 'Пользователь данной БД');
define('DB_PASSWORD', 'Пароль от данной БД');
define('DB_HOST', '127.0.0.1:3310');

Правка конфигурационного файла Joomla

Выбрать в списке на вкладке «Файлы сайта» файл «configuration.php» и нажать «Редактирование» → «Открыть» в верхнем меню.

Ввести в файл данные, соответствующие новой базе данных:

public $host = '127.0.0.1:3310';
public $user = 'Пользователь данной БД';
public $password = 'Пароль от данной БД';
public $db = 'Имя новой базы данных';

Правка конфигурационного файла Opencart

Выбрать в списке на вкладке «Файлы сайта» файл «config.php» и нажать «Редактирование» → «Открыть» в верхнем меню.

Ввести в файл данные, соответствующие новой базе данных:

define('DB_HOSTNAME', '127.0.0.1:3310');
define('DB_USERNAME', 'Пользователь данной БД');
define('DB_PASSWORD', 'Пароль от данной БД');
define('DB_DATABASE', 'Имя новой базы данных');

Затем аналогичные изменения можно внести во второй конфигурационный файл Opencart, который находится по пути «Файлы сайта» → папка «admin» → файл «config.php».

Установка сервера с нуля или настройка виртуального или выделенного сервера в основном происходит на основе панели управления ISP Manager 5, при этом несмотря на хорошие качественные показатели этой панели есть в ней и слабые места, например это то, что по умолчанию ставится версия mysql 5.5 несмотря на то, что давно уже в основном все используют MariaDB и всем бы хотелось новую версию, которая уже вышла в бета варианте 10.5.х.

Между тем что стоит и тем что есть лежит более 30 промежуточных версий. То есть замена на свежий вариант Mariadb имеет смысл и большой, хотя не рекомендую ставить именно бету версию. Но ISP manager почему то на это обращение пользователей панели не реагирует и поэтому приходится делать самим при установке панели. В принципе это несложно, главное иметь перед глазами инструкцию.

Первое что мы делаем, останавливаем работу mysql и удаляем.

service mariadb stop
yum remove mariadb mariadb-server

Не стоит думать о базах, которые уже установлены, далее в процессе мы их тоже обновим и они не пропадут при удалении старого сервера mysql. При этих командах выше будут также очищены все связанные с севером баз данных зависимости панели управления: coremanager-pkg-mysql, ispmanager-pkg-mysql, mysqltuner. Теперь следующий шаг это создание репо файла с версией новой Mariadb.

В Centos папка находится в etc/yum.repos.d там создаём файл mariadb.repo и в него вставляем актуальный код новой версии сервера баз данных от mariadb, учтите что тот код что даю я актуален именно сейчас, желательно на сайте mariadb проверить его актуальность в будущем.

# MariaDB 10.4 CentOS repository list - created 2020-05-02 23:58 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Вот здесь проверять код: https://downloads.mariadb.org/mariadb/repositories/#distro=CentOS&distro_release=centos7-amd64—centos7&mirror=hs-esslingen&version=10.4

Итак на этом этапе мы удалили старый сервер баз данных и приготовили файл репо для установки нового сервера и клиента. Теперь начинаем саму установку. Каждая команда делается отдельно:

yum -y install MariaDB-server MariaDB-client
mkdir -p /var/run/mysqld
chown -R mysql:mysql /var/run/mysqld
systemctl enable mariadb
service mariadb start

Устанавливаем зависимости для панели управления

yum install -y coremanager-pkg-mysql ispmanager-pkg-mysql mysqltuner

Апгрейдим базы под новую версию mariadb

mysql_upgrade

Перезапускаем панель

killall core

Все процедуры делаются через SSH панель соответственно от root доступа. После всего этого иногда может возникать ошибка, если симлинк не сохранился. Если вдруг сервер не запускается, перейдите в папку var/run и там проверьте наличие папки mysqld — она может отсутствовать, значит надо её создать и дать ей управление от mysql группа и пользователь. После этого уже точно не будет никаких проблем. Хорошей вам работы.

В данной статье будет показан способ обновления версии MariaDB, на сервере с операционной системой CentOS 7 и установленной панелью управления ISPmanager, с версии 5.5.60, которая ставится по умолчанию с ISPmanager, на версию 10.3. Таким же образом Вы можете увеличить версию MariaDB до 10.1, 10.2, 10.4, 10.5.

1. Для начала нам необходимо будет добавить нужный репозиторий в yum. Для этого:

1) Заходим на данный сайт: https://downloads.mariadb.org/mariadb/repositories/#mirror=cyanlink

2) В пункте «1. Choose a Distro», выбираем «CentOS».

3) В пункте «2. Choose a Release», выбираем версию Вашей операционной системы, в нашем случае «CentOS 7». Но кроме версии самой операционной системы, необходимо выбрать тип процессора.
Для определения версии процессора, введем на сервере команду:

uname -p

4) В пункте «3. Choose a Version», выбираем нужную версию MariaDB. В нашем случае это «10.3 [Old Stable]».

5) Снизу появится список настроек, которые нам необходимо будет скопировать:

Добавляем данный репозиторий в наш yum:

vi /etc/yum.repos.d/mariadb.repo

И в открывшемся окне вставляем то, что у нас получилось после пункта 4), в нашем случае это:

# MariaDB 10.3 CentOS repository list - created 2020-02-26 15:31 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

2. Останавливаем веб-сервера, MariaDB и производим обновление:

systemctl stop mariadb httpd nginx
yum update MariaDB-server MariaDB-client

Как правило, после обновления, MariaDB перестанет запускаться. Исправим все проблемы:

3. Если возникла проблема:

[ERROR] mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 2 "No such file or directory")
[ERROR] Can't start server: can't create PID file: No such file or directory

Тогда, открываем файл:

vi /etc/tmpfiles.d/mariadb.conf

Добавляем в него:

d /var/run/mysqld 0755 mysql mysql -

После чего, последовательно выполняем несколько команд:

mkdir /var/run/mysqld
chown mysql: /var/run/mysqld
chmod 0755 /var/run/mysqld
systemctl daemon-reload
reboot

4. Запускаем MariaDB и добавляем в автозагрузку:

systemctl start mariadb
systemctl enable mariadb

5. Если не делали reboot, тогда запускаем веб-сервера:

systemctl start nginx httpd

6. Завершаем обновление MariaDB:

mysql_upgrade
systemctl restart mariadb

В ISPmanager все еще будет отображаться старая база данных, а также, невозможно будет работать с базами данных. Для исправления данной проблемы:

7. Создаем символическую ссылку:

ln -s /usr/sbin/mysqld /usr/libexec/mysqld

8. Настраиваем корректное отображение новой версии MariaDB в ISPmanager:

Заходим в ISPmanager под пользователем root, переходим в раздел «Серверы баз данных», выбираем наш сервер базы данных и нажимаем «Именить»:

Ставим галку на «Установить новый пароль» и жмем «Ок».

Обновление базы данных MariaDB было завершено. Для проверки установленной версии MariaDB, воспользуйтесь командой:

mysql -V

Понравилась статья? Поделить с друзьями:
  • Как изменить версию miui на xiaomi
  • Как изменить версию minecraft windows 10 edition
  • Как изменить версию minecraft java edition
  • Как изменить версию java на windows 10
  • Как изменить версию java ubuntu