Установка 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-систем.
Предварительные условия
- Эти инструкции предназначены для установки MariaDB 10.0 на одном узле CentOS 6 (без уже установленного MySQL).
- Поскольку установка MariaDB по умолчанию использует директорию /var/lib/mysql для хранения ваших баз данных, имейте в виду, что раздел или логический том, связанный с /var, должен иметь достаточное пространство.
- Резервное копирование конфигурационного файла (только замена): Также рекомендуется сделать копию вашего текущего конфигурационного файла MySQL/MariaDB, если вы заменяете текущую установку; этот файл можно найти по адресу /etc/mysql/my.cnf на системах Debian/Ubuntu и
/etc/my.cnfна системах CentOS. На CentOS пакет MariaDB удалит конфигурационный файл при удалении, поэтому этот шаг особенно важен на этих системах. - Остальная часть этого учебника будет предполагать, что вы подключены к вашему серверу с учетной записью пользователя 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 mysqlyum 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 -Vmysql 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
Get new posts in your inbox
No spam. Unsubscribe anytime.