Установка MariaDB · 11 min read · Jan 07, 2026

Установка MariaDB 10.0 на CentOS 6

MariaDB — это разработанный сообществом форк MySQL и нацелен на то, чтобы быть улучшенной заменой для него. Он лицензирован под GNU GPL и возглавляется оригинальными разработчиками MySQL, такими как Монтей Уиденус. На данный момент MariaDB кажется активной, но у нее значительно меньше доля рынка, чем у MySQL. Из-за большого импульса, который имел MySQL, вокруг него все еще существует много сообщества, но есть четкая тенденция, что большинство новых активностей в мире с открытым исходным кодом вращаются вокруг MariaDB, и большинство дистрибутивов Linux теперь поставляются с MariaDB в качестве совместимой базы данных MySQL. Следующий учебник проведет вас через шаги установки MariaDB 10.0 на CentOS 6. CentOS 6 слишком стар? Да, это правда, но CentOS 6 все еще поддерживается до 2020 года с обновлениями безопасности, и все еще существует много серверов, которые его используют, но могут нуждаться в более новой совместимой базе данных MySQL, например, для размещения последних CMS-систем.

Предварительные условия

  1. Эти инструкции предназначены для установки MariaDB 10.0 на одном узле CentOS 6 (без уже установленного MySQL).
  2. Поскольку установка MariaDB по умолчанию использует директорию /var/lib/mysql для хранения ваших баз данных, имейте в виду, что раздел или логический том, связанный с /var, должен иметь достаточное пространство.
  3. Резервное копирование конфигурационного файла (только замена): Также рекомендуется сделать копию вашего текущего конфигурационного файла MySQL/MariaDB, если вы заменяете текущую установку; этот файл можно найти по адресу /etc/mysql/my.cnf на системах Debian/Ubuntu и /etc/my.cnf на системах CentOS. На CentOS пакет MariaDB удалит конфигурационный файл при удалении, поэтому этот шаг особенно важен на этих системах.
  4. Остальная часть этого учебника будет предполагать, что вы подключены к вашему серверу с учетной записью пользователя root или учетной записью пользователя с правами sudo. Чтобы войти в оболочку root из другой учетной записи, выполните:
sudo su

Шаг 1. ** Настройка репозитория MariaDB

Вы должны убедиться, что доступные пакеты обновлены. Для этого просто выполните следующую команду в терминале:

yum -y update
Загруженные плагины: fastestmirror  
база | 3.6 kB 00:00  
дополнения | 3.4 kB 00:00  
обновления | 3.4 kB 00:00  
(1/4): base/7/x86_64/group_gz | 155 kB 00:00  
(2/4): extras/7/x86_64/primary_db | 101 kB 00:00  
(3/4): updates/7/x86_64/primary_db | 3.1 MB 00:00  
(4/4): base/7/x86_64/primary_db | 5.3 MB 00:04  
Определение самых быстрых зеркал  
 * base: mirror.net.cen.ct.gov  
 * extras: mirror.es.its.nyu.edu  
 * updates: mirror.atlanticmetro.net  
Разрешение зависимостей  
--> Выполнение проверки транзакции  
---> Пакет openssl.x86_64 1:1.0.1e-51.el7_2.2 будет обновлен  
---> Пакет openssl.x86_64 1:1.0.1e-51.el7_2.4 будет обновлением  
---> Пакет openssl-libs.x86_64 1:1.0.1e-51.el7_2.2 будет обновлен  
---> Пакет openssl-libs.x86_64 1:1.0.1e-51.el7_2.4 будет обновлением  
--> Завершено разрешение зависимостей  
Разрешенные зависимости  
================================================================================  
 Пакет Архитектура Версия Репозиторий Размер  
================================================================================  
Обновление:  
 openssl x86_64 1:1.0.1e-51.el7_2.4 обновления 711 k  
 openssl-libs x86_64 1:1.0.1e-51.el7_2.4 обновления 951 k  
Резюме транзакции  
================================================================================  
Обновление 2 пакетов  
Общий размер загружаемых файлов: 1.6 M  
Загрузка пакетов:  
Delta RPMs отключены, так как /usr/bin/applydeltarpm не установлен.  
(1/2): openssl-1.0.1e-51.el7_2.4.x86_64.rpm | 711 kB 00:00  
(2/2): openssl-libs-1.0.1e-51.el7_2.4.x86_64.rpm | 951 kB 00:00  
--------------------------------------------------------------------------------  
Всего 2.3 MB/s | 1.6 MB 00:00  
Выполнение проверки транзакции  
Выполнение теста транзакции  
Тест транзакции прошел успешно  
Выполнение транзакции  
 Обновление : 1:openssl-libs-1.0.1e-51.el7_2.4.x86_64 1/4  
 Обновление : 1:openssl-1.0.1e-51.el7_2.4.x86_64 2/4  
 Очистка : 1:openssl-1.0.1e-51.el7_2.2.x86_64 3/4  
 Очистка : 1:openssl-libs-1.0.1e-51.el7_2.2.x86_64 4/4  
 Проверка : 1:openssl-libs-1.0.1e-51.el7_2.4.x86_64 1/4  
 Проверка : 1:openssl-1.0.1e-51.el7_2.4.x86_64 2/4  
 Проверка : 1:openssl-1.0.1e-51.el7_2.2.x86_64 3/4  
 Проверка : 1:openssl-libs-1.0.1e-51.el7_2.2.x86_64 4/4  
Обновлено:  
 openssl.x86_64 1:1.0.1e-51.el7_2.4 openssl-libs.x86_64 1:1.0.1e-51.el7_2.4  
Готово!

Теперь добавьте репозиторий MariaDB CentOS.

Создайте новый файл репозитория MariaDB /etc/yum.repos.d/mariadb.repo с помощью nano:

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

И вставьте следующий текст для CentOS-6 32 Bit:

[mariadb]  
name = MariaDB  
baseurl = http://yum.mariadb.org/10.0/centos6-x86  
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB  
gpgcheck=1

Или вставьте этот текст для CentOS-6 64 Bit:

name = MariaDB  
baseurl = http://yum.mariadb.org/10.0/centos6-amd64  
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB  
gpgcheck=1

Затем выйдите и сохраните файл, нажав Ctrl+X, затем Y.

Как вы видите в приведенном выше примере, он включает строку gpgkey для автоматической загрузки GPG-ключа, который MariaDB использует для подписи репозиториев. Этот ключ необходим для проверки целостности загружаемых пакетов.

Примечание: Чтобы узнать, какой репозиторий вам следует использовать с генератором репозиториев MariaDB.

Шаг 2 – Установка MariaDB 10 с помощью Yum

Удаление MySQL (только если он установлен)

Я рекомендую полностью удалить любые старые версии сервера MySQL, которые могут быть установлены в системе, а затем обновиться до MariaDB без конфликтов.

Чтобы проверить, установлен ли MySQL, выполните команду:

rpm -qa 'mysql*'

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

yum list installed | grep mysql
yum remove mysql-client mysql-server mysql-common mysql-devel

И удалите базы данных MySQL:

rm -Rf /var/lib/mysql

Установка MariaDB 10

Для стандартной установки сервера вам нужно будет загрузить и установить как минимум файлы RPM client, shared и server.

yum install MariaDB-server MariaDB-client -y

Вы должны увидеть вывод, подобный следующему:

Загруженные плагины: fastestmirror  
Загрузка скоростей зеркал из кэшированного файла  
 * base: mirror.net.cen.ct.gov  
 * extras: mirror.es.its.nyu.edu  
 * updates: mirror.atlanticmetro.net  
Разрешение зависимостей  
--> Выполнение проверки транзакции  
---> Пакет mariadb.x86_64 1:5.5.44-2.el7.centos будет установлен  
--> Обработка зависимости: perl(Sys::Hostname) для пакета: 1:mariadb-5.5.44-2.el7.centos.x86_64  
--> Обработка зависимости: perl(IPC::Open3) для пакета: 1:mariadb-5.5.44-2.el7.centos.x86_64  
--> Обработка зависимости: perl(Getopt::Long) для пакета: 1:mariadb-5.5.44-2.el7.centos.x86_64  
--> Обработка зависимости: perl(File::Temp) для пакета: 1:mariadb-5.5.44-2.el7.centos.x86_64  
--> Обработка зависимости: perl(Fcntl) для пакета: 1:mariadb-5.5.44-2.el7.centos.x86_64  
--> Обработка зависимости: perl(Exporter) для пакета: 1:mariadb-5.5.44-2.el7.centos.x86_64  
--> Обработка зависимости: /usr/bin/perl для пакета: 1:mariadb-5.5.44-2.el7.centos.x86_64  
---> Пакет mariadb-server.x86_64 1:5.5.44-2.el7.centos будет установлен  
--> Обработка зависимости: perl-DBI для пакета: 1:mariadb-server-5.5.44-2.el7.centos.x86_64  
--> Обработка зависимости: perl-DBD-MySQL для пакета: 1:mariadb-server-5.5.44-2.el7.centos.x86_64  
--> Обработка зависимости: perl(File::Path) для пакета: 1:mariadb-server-5.5.44-2.el7.centos.x86_64  
--> Обработка зависимости: perl(Data::Dumper) для пакета: 1:mariadb-server-5.5.44-2.el7.centos.x86_64  
--> Обработка зависимости: perl(DBI) для пакета: 1:mariadb-server-5.5.44-2.el7.centos.x86_64  
--> Обработка зависимости: libaio.so.1(LIBAIO_0.4)(64bit) для пакета: 1:mariadb-server-5.5.44-2.el7.centos.x86_64  
--> Обработка зависимости: libaio.so.1(LIBAIO_0.1)(64bit) для пакета: 1:mariadb-server-5.5.44-2.el7.centos.x86_64  
--> Обработка зависимости: libaio.so.1()(64bit) для пакета: 1:mariadb-server-5.5.44-2.el7.centos.x86_64  
[...]  
Установлено:  
 mariadb.x86_64 1:5.5.44-2.el7.centos mariadb-server.x86_64 1:5.5.44-2.el7.centos  
Установленная зависимость:  
 libaio.x86_64 0:0.3.109-13.el7 perl.x86_64 4:5.16.3-286.el7  
 perl-Carp.noarch 0:1.26-244.el7 perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7  
 perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7 perl-DBD-MySQL.x86_64 0:4.023-5.el7  
 perl-DBI.x86_64 0:1.627-4.el7 perl-Data-Dumper.x86_64 0:2.145-3.el7  
 perl-Encode.x86_64 0:2.51-7.el7 perl-Exporter.noarch 0:5.68-3.el7  
 perl-File-Path.noarch 0:2.09-2.el7 perl-File-Temp.noarch 0:0.23.01-3.el7  
 perl-Filter.x86_64 0:1.49-3.el7 perl-Getopt-Long.noarch 0:2.40-2.el7  
 perl-HTTP-Tiny.noarch 0:0.033-3.el7 perl-IO-Compress.noarch 0:2.061-2.el7  
 perl-Net-Daemon.noarch 0:0.48-5.el7 perl-PathTools.x86_64 0:3.40-5.el7  
 perl-PlRPC.noarch 0:0.2020-14.el7 perl-Pod-Escapes.noarch 1:1.04-286.el7  
 perl-Pod-Perldoc.noarch 0:3.20-4.el7 perl-Pod-Simple.noarch 1:3.28-4.el7  
 perl-Pod-Usage.noarch 0:1.63-3.el7 perl-Scalar-List-Utils.x86_64 0:1.27-248.el7  
 perl-Socket.x86_64 0:2.010-3.el7 perl-Storable.x86_64 0:2.45-3.el7  
 perl-Text-ParseWords.noarch 0:3.29-4.el7 perl-Time-HiRes.x86_64 4:1.9725-3.el7  
 perl-Time-Local.noarch 0:1.2300-2.el7 perl-constant.noarch 0:1.27-2.el7  
 perl-libs.x86_64 4:5.16.3-286.el7 perl-macros.x86_64 4:5.16.3-286.el7  
 perl-parent.noarch 1:0.225-244.el7 perl-podlators.noarch 0:2.5.1-3.el7  
 perl-threads.x86_64 0:1.87-4.el7 perl-threads-shared.x86_64 0:1.43-6.el7  
Готово!

Когда процесс установки завершится, вы можете запустить MariaDB. Обратите внимание, что служба MariaDB называется “mysql”, поэтому команда ниже не является опечаткой.

service mysql start
Запуск MySQL. УСПЕХ!

Выполните эту команду, чтобы запускать MariaDB при каждом запуске.

chkconfig mysql on

Вы можете проверить версию установленной MariaDB с помощью следующей команды:

mysql -V
mysql Ver 15.1 Distrib 10.0.24-MariaDB, для Linux (x86_64) с использованием readline 5.1

Пока все хорошо!

Шаг 3 – Защита MariaDB

По умолчанию MariaDB не защищена. Вы можете защитить MariaDB, используя скрипт mysql_secure_installation. Вам следует внимательно прочитать приведенные ниже шаги, они установят пароль root, удалят анонимных пользователей, запретят удаленный вход root и удалят тестовую базу данных и доступ к ней, чтобы защитить MariaDB. Рекомендуется, чтобы все администраторы запускали этот скрипт, чтобы убедиться, что ваша установка MySQL безопасна. К сожалению, скрипт является интерактивным и запрашивает пароль root, поэтому его нельзя легко включить в процесс сборки. Рекомендуется отвечать yes на эти варианты. Вы можете прочитать больше о скрипте в базе знаний MariaDB.

Вызовите mysql_secure_installation без аргументов:

mysql_secure_installation

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

ПРИМЕЧАНИЕ: РЕКОМЕНДУЕТСЯ ЗАПУСКАТЬ ВСЕ ЧАСТИ ЭТОГО СКРИПТА ДЛЯ ВСЕХ MariaDB  
 СЕРВЕРОВ В ПРОИЗВОДСТВЕ! ПОЖАЛУЙСТА, ВНИМАТЕЛЬНО ЧИТАЙТЕ КАЖДЫЙ ШАГ!

Чтобы войти в MariaDB и защитить ее, нам нужен текущий пароль для пользователя root. Если вы только что установили MariaDB и еще не установили пароль root, то пароль по умолчанию будет пустым, поэтому вам просто нужно нажать Enter здесь.

Введите текущий пароль для root (нажмите Enter для отсутствия):  
Хорошо, успешно использован пароль, продолжаем...

Установка пароля root гарантирует, что никто не сможет войти в пользователя root MariaDB без надлежащей авторизации.

Установить пароль root? [Y/n] y  
Новый пароль: ВВЕДИТЕ ВАШ ПАРОЛЬ  
Повторите новый пароль: ПОВТОРИТЕ ВАШ ПАРОЛЬ  
Пароль успешно обновлен!  
Перезагрузка таблиц привилегий..  
... Успех!

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

Удалить анонимных пользователей? [Y/n] y  
... Успех!

Обычно root должен иметь возможность подключаться только с ‘localhost’. Это гарантирует, что кто-то не сможет угадать пароль root через сеть.

Запретить удаленный вход root? [Y/n] y  
... Успех!

По умолчанию MariaDB поставляется с базой данных с именем ‘test’, к которой любой может получить доступ. Это также предназначено только для тестирования и должно быть удалено перед переходом в производственную среду.

Удалить тестовую базу данных и доступ к ней? [Y/n] y  
- Удаление тестовой базы данных...  
... Успех!  
- Удаление привилегий на тестовую базу данных...  
... Успех!

Перезагрузка таблиц привилегий обеспечит немедленное применение всех изменений, сделанных до сих пор.

Перезагрузить таблицы привилегий сейчас? [Y/n] y  
... Успех!  
Очистка...  
Все готово! Если вы завершили все вышеперечисленные шаги, ваша установка MariaDB теперь должна быть защищена.  
Спасибо за использование MariaDB!

Теперь вам нужно перезапустить MariaDB.

service mysql restart
Остановка MySQL.. УСПЕХ!  
Запуск MySQL. УСПЕХ!

Вот и все. Войдите на сервер MariaDB и проверьте старые базы данных и таблицы (если вы обновились с MySQL).

Чтобы подключиться к MariaDB, выполните приведенную ниже команду.

mysql -u root -p

В этом случае я указал пользователя root с флагом -u, а затем использовал флаг -p, чтобы MySQL запросил пароль.

Когда вас спросят, просто введите пароль, который вы назначили с помощью скрипта mysql_secure_installation.

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

Для списка команд MariaDB введите help или \ h в приглашении:

Общая информация о MariaDB доступна по адресу  
http://mariadb.org  
Список всех команд MySQL:  
Обратите внимание, что все текстовые команды должны быть первыми в строке и заканчиваться ';'  
? (\?) Синоним для `help'.  
clear (\c) Очистить текущее входное выражение.  
connect (\r) Переподключиться к серверу. Опциональные аргументы - db и host.  
delimiter (\d) Установить разделитель выражения.  
edit (\e) Редактировать команду с помощью $EDITOR.  
ego (\G) Отправить команду на сервер mysql, отображать результат вертикально.  
exit (\q) Выйти из mysql. То же самое, что и quit.  
go (\g) Отправить команду на сервер mysql.  
help (\h) Показать эту помощь.  
nopager (\n) Отключить пейджер, печатать на stdout.  
notee (\t) Не записывать в outfile.  
pager (\P) Установить PAGER [to_pager]. Печать результатов запроса через PAGER.  
print (\p) Печать текущей команды.  
prompt (\R) Изменить ваш mysql prompt.  
quit (\q) Выйти из mysql.  
rehash (\#) Перестроить хэш завершения.  
source (\.) Выполнить файл SQL-скрипта. Принимает имя файла в качестве аргумента.  
status (\s) Получить информацию о состоянии от сервера.  
system (\!) Выполнить команду системной оболочки.  
tee (\T) Установить outfile [to_outfile]. Добавить все в указанный outfile.  
use (\u) Использовать другую базу данных. Принимает имя базы данных в качестве аргумента.  
charset (\C) Переключиться на другую кодировку. Может потребоваться для обработки binlog с многобайтовыми кодировками.  
warnings (\W) Показать предупреждения после каждого выражения.  
nowarning (\w) Не показывать предупреждения после каждого выражения.  
Для помощи на стороне сервера введите 'help contents'  

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

SHOW DATABASES;
+--------------------+  
| База данных |  
+--------------------+  
| information_schema |  
| mysql |  
| performance_schema |  
| test |  
+--------------------+  
4 строки в наборе (0.01 сек)

Базы данных “information_schema”, “performance_schema” и “mysql” создаются по умолчанию и содержат системные данные сервера MariaDB, эти таблицы следует оставлять в покое, если вы не знаете, что делаете.

Проверьте статус сервера базы данных:

status;
mysql Ver 15.1 Distrib 5.5.44-MariaDB, для Linux (x86_64) с использованием readline 5.1  
Идентификатор подключения: 14  
Текущая база данных:  
Текущий пользователь: root@localhost  
SSL: Не используется  
Текущий пейджер: stdout  
Использование outfile: ''  
Использование разделителя: ;  
Сервер: MariaDB  
Версия сервера: 5.5.44-MariaDB MariaDB Server  
Версия протокола: 10  
Подключение: Localhost через UNIX-сокет  
Кодировка символов сервера: latin1  
Кодировка символов базы данных: latin1  
Кодировка символов клиента: utf8  
Кодировка символов подключения: utf8  
UNIX-сокет: /var/lib/mysql/mysql.sock  
Время работы: 47 мин 9 сек  
Потоки: 1 Вопросы: 32 Медленные запросы: 0 Открыто: 4 Очистка таблиц: 2 Открытые таблицы: 30 Запросы в секунду в среднем: 0.011  
--------------  
MariaDB [(none)]>

Создание базы данных не выбирает ее для использования; вы должны сделать это явно. Чтобы сделать howtoforge текущей базой данных, используйте это выражение:

USE howtoforge

Ваша база данных должна быть создана только один раз, но вы должны выбирать ее для использования каждый раз, когда начинаете сеанс MySQL. Вы можете сделать это, выполнив оператор USE, как показано в примере. В качестве альтернативы вы можете выбрать базу данных в командной строке, когда вызываете MySQL. Просто укажите ее имя после любых параметров подключения, которые вам могут понадобиться предоставить. Например:

mysql -h host -u user -p howtoforge

ПРИМЕЧАНИЕ: Все имена баз данных, имена таблиц, имена полей таблиц чувствительны к регистру. Поэтому вам нужно будет использовать правильные имена при выполнении любой SQL-команды.

По умолчанию все операции MySQL, выполняемые через командную строку, выполняются на текущей выбранной базе данных. Какая база данных в настоящее время выбрана? Чтобы узнать, выполните следующую команду:

SELECT database();

Ваш результат может быть похож на этот:

+------------+  
| database() |  
+------------+  
| NULL |  
+------------+  
1 строка в наборе (0.00 сек)  
MariaDB [(none)]>

Результат null, что означает, что база данных в настоящее время не выбрана.

Дополнительная информация

Вы можете обратиться к следующим ресурсам для получения дополнительной информации по этой теме. Хотя они предоставлены в надежде, что они будут полезны, пожалуйста, обратите внимание, что мы не можем гарантировать точность или актуальность материалов, размещенных на внешних ресурсах.

  • Документация MariaDB
  • Справочное руководство MySQL
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.