Настройка mariadb debian 9

Обновлено: 04.07.2024

С выпуском Debian 9 MySQL был заменен на MariaDB в качестве системы баз данных по умолчанию.

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

Обычно рекомендуется устанавливать MariaDB из репозиториев Debian.

Если вы предпочитаете MySQL, а не MariaDB, ознакомьтесь с руководством по установке MySQL в Debian 9 . Если ваше приложение не имеет особых требований, вам следует придерживаться MariaDB, системы баз данных по умолчанию в Debian 9.

Подготовка

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

Установка MariaDB на Debian 9

Чтобы установить MariaDB в Debian 9, выполните следующие действия:

  1. Сначала обновите индекс пакетов apt , набрав:
  2. После обновления списка пакетов установите MariaDB, выполнив следующую команду:
  3. Сервис MariaDB запустится автоматически. Вы можете проверить это, набрав:

Результат должен выглядеть примерно так:

Установка MariaDB на Debian 9 из репозиториев MariaDB

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

Чтобы установить MariaDB 10.3 в вашу систему Debian 9, выполните следующие действия:

Обеспечение безопасности MariaDB

Чтобы повысить безопасность установки MariaDB, запустите сценарий mysql_secure_installation :

Сценарий предложит вам установить пароль для учетной записи root, удалить анонимного пользователя, ограничить доступ пользователя root к локальному компьютеру и удалить тестовую базу данных.

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

Все шаги подробно описаны, и на все вопросы рекомендуется отвечать «Д» (да).

Подключитесь к MariaDB из командной строки

Чтобы подключиться к серверу MariaDB через терминал в качестве учетной записи root:

Вам будет предложено ввести пароль root, который вы ранее установили с помощью скрипта mysql_secure_installation .

После ввода пароля вам будет представлена оболочка MariaDB, как показано ниже:

Выводы

В этом руководстве мы показали вам, как установить и защитить MariaDB на сервере Debian 9.

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

Комплект LAMP — это набор программного обеспечения с открытым исходным кодом, которое обычно устанавливается в комплексе для размещения на сервере динамических сайтов и веб-приложений. Этот термин представляет собой аббревиатуру. Операционная система Linux используется с веб-сервером Apache. Данные сайта хранятся в базе данных MariaDB, а за обработку динамического контента отвечает PHP.

В этом обучающем модуле мы установим комплект LAMP на сервер Debian 9.

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

Для данного обучающего модуля вам потребуется сервер Debian 9 с учетной записью пользователя без привилегий root и с привилегиями sudo , а также базовым брандмауэром. При настройке следует использовать указания руководства по начальной настройке сервера Debian 9.

Шаг 1 — Установка Apache и обновление брандмауэра

Веб-сервер Apache — один из самых популярных веб-серверов в мире. По нему имеется очень много документации, и он широко использовался в течение почти всей истории Интернета, что делает его отличным выбором для хостинга сайта.

Установите Apache с помощью диспетчера пакетов apt в Debian:

Поскольку это команда sudo , данные операции выполняются с привилегиями root. Для подтверждения система попросит ввести пароль обычного пользователя.

После ввода пароля apt покажет, какие пакеты планируются к установке, и сколько они займут дополнительного пространства на диске. Нажмите Y , а затем нажмите ENTER , чтобы продолжить установку.

При установке в операционной системе Debian 9 в UFW имеются профили приложений, с помощью которых вы можете настраивать параметры брандмауэра. Для просмотра полного списка профилей приложений запустите следующую команду:

Профили WWW используются для управления портами, которые используются веб-серверами:

Если вы просмотрите профиль WWW Full , вы увидите, что он активирует трафик на портах 80 и 443 :

Вы можете провести точечную проверку работы брандмауэра, открыв в браузере внешний IP-адрес сервера:

Вы увидите веб-страницу по умолчанию Debian 9 Apache, предназначенную для информационных целей и целей тестирования. Она должна выглядеть следующим образом:

Если вы видите эту страницу, ваш веб-сервер правильно установлен и доступен через ваш брандмауэр.

Если вы не знаете внешний IP-адрес вашего сервера, вы можете определить его с помощью нескольких способов. Обычно это адрес, который вы используете для подключения к серверу через SSH.

Существует несколько способов сделать это через командную строку. Во-первых, вы можете использовать инструменты iproute2 для получения IP-адреса с помощью следующей команды:

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

Также можно использовать утилиту curl для связи с внешним устройством. Вы увидите, как это устройство видит ваш сервер. Для этого нужно запросить ваш IP-адрес у конкретного сервера:

Вне зависимости от метода получения IP-адреса введите его в адресную строку браузера для просмотра страницы Apache по умолчанию.

Шаг 2 — Установка MariaDB

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

MariaDB — это созданное сообществом разработчиков ответвление MySQL. В Debian 9 в качестве сервера MySQL по умолчанию используется MariaDB 10.1, а пакет mysql-server , который обычно используется для установки MySQL, представляет собой переходный пакет, который фактически устанавливает MariaDB. Однако рекомендуется устанавливать MariaDB с помощью пакета mariadb-server .

Используйте apt для получения и установки этого программного обеспечения:

Примечание. В этом случае вам не нужно предварительно запускать команду sudo apt update до выполнения команды. Это связано с тем, что вы недавно запускали ее для установки Apache, и индекс пакетов на вашем компьютере уже должен быть обновлен.

Эта команда также выводит список устанавливаемых пакетов и показывает, сколько они займут места на диске. Введите Y , чтобы продолжить.

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

При этом откроется серия диалогов, где вы можете внести некоторые изменения в параметры безопасности установки MariaDB. В первом диалоге вам нужно будет ввести пароль пользователя root для текущей базы данных. Это административная учетная запись MariaDB, имеющая повышенный уровень привилегий. Она напоминает учетную запись root на сервере (хотя эта учетная запись относится только к MariaDB). Поскольку вы только что установили MariaDB и еще не меняли параметры конфигурации, пароль будет пустым, так что вам достаточно нажать ENTER в этом диалоге.

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

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

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

Поскольку для ротации журналов, запуска и остановки сервера используется учетная запись root, лучше всего не менять учетные данные пользователя root. Изменение учетных данных в файле конфигурации /etc/mysql/debian.cnf может сработать на начальном этапе, но при обновлении пакета изменения могут быть перезаписаны. Если вам требуется настроить доступ с паролем, команда поддержки рекомендует создать отдельную учетную запись администратора вместо изменения учетной записи root.

Для этого мы создадим новую учетную запись admin с теми же привилегиями, что и у учетной записи root, но настроенную для аутентификации с использованием пароля. Для этого откройте командную строку MariaDB через терминал:

Теперь мы можем создать нового пользователя с привилегиями root и доступом с использованием пароля. Измените имя пользователя и пароль на желаемые:

Очистите привилегии, чтобы они были сохранены и доступны в текущем сеансе:

После этого закройте оболочку MariaDB:

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

Вы настроили систему базы данных и теперь можете перейти к установке PHP, заключительного компонента комплекта LAMP.

Шаг 3 — Установка PHP

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

Используйте систему apt для установки PHP. Кроме того, установите вспомогательные пакеты, чтобы код PHP можно было запускать на сервере Apache, и чтобы он мог взаимодействовать с базой данных MariaDB:

Эта команда должна установить PHP без каких-либо проблем. Сейчас мы это протестируем.

В большинстве случаев необходимо изменить способ обслуживания файлов Apache при запросе директории. Обычно, если пользователь запрашивает директорию на сервере, Apache в первую очередь ищет файл index.html . Нам нужно, чтобы веб-сервер предпочитал файлы PHP, и чтобы Apache в первую очередь искал файл index.php .

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

Он будет выглядеть примерно так:

Переместите файл индекса PHP (выделен выше) на первую позицию после спецификации DirectoryIndex , примерно так:

После завершения сохраните и закройте файл, нажав CTRL+X . Для подтверждения сохранения нажмите Y , а затем нажмите ENTER для подтверждения расположения сохраняемого файла.

После этого перезапустите веб-сервер Apache, чтобы ваши изменения были готовы к распознанию. Для этого введите следующую команду:

Также вы можете проверить статус службы apache2 с помощью команды systemctl :

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

Используйте стрелки для прокрутки экрана и клавишу Q для выхода.

На экране результатов будут показаны все доступные для установки опциональные компоненты. Также будет выведено краткое описание каждого из них:

Дополнительную информацию о функциях каждого модуля можно найти в Интернете. Также вы можете посмотреть длинное описание пакета с помощью следующей команды:

На экране результатов будет много текста, а в поле описания Description будет приведено развернутое описание функционала модуля.

Например, чтобы узнать функции модуля php-cli , нужно использовать следующую команду:

Помимо другой информации вы увидите следующий фрагмент:

Если после изучения информации вы решите установить пакет, вы можете использовать для этого команду apt install , как для любого другого программного обеспечения.

Если вы решили установить php-cli , введите следующую команду:

Если вы хотите установить несколько модулей, вы можете перечислить их после команды apt install , разделяя пробелами:

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

Шаг 4 — Тестирование обработки PHP на веб-сервере

Чтобы проверить правильность настройки системы для кода PHP, создайте простой скрипт PHP под названием info.php . Чтобы Apache мог найти этот файл и правильно его обслуживать, его нужно сохранить в специальной директории web root.

В Debian 9 эта директория находится по адресу /var/www/html/ . Для создания файла в этой директории запустите следующую команду:

В результате откроется пустой файл. Вставьте в файл следующий код PHP:

После завершения редактирования сохраните и закройте файл.

Теперь вы можете проверить способность вашего веб-сервера правильно отображать контент, генерируемый этим скриптом PHP. Для этого откройте страницу в своем браузере. Вам снова потребуется внешний IP-адрес вашего сервера.

Вам нужен следующий адрес:

Отображаемая страница должна выглядеть примерно так:

Информация PHP по умолчанию в Debian 9

На этой странице содержится базовая информация о вашем сервере с точки зрения PHP. Эта информация полезна для отладки и обеспечения правильного применения настроек.

Если вы видите эту страницу в своем браузере, PHP работает надлежащим образом.

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

Если впоследствии вам снова потребуется эта информация, вы всегда можете воссоздать эту страницу.

Заключение

Вы установили комплект LAMP, и теперь у вас имеется множество вариантов дальнейших действий. Вы установили платформу, которая позволит вам устанавливать на ваш сервер разнообразные сайты и веб-приложения.

MariaDB – это открытая реляционная система управления базами данных (СУБД), которая является частью стека LEMP (Linux, Nginx, MySQL/MariaDB, PHP/Python/Perl). Для управления данными MariaDB использует SQL (Structured Query Language).

MariaDB – это форк проекта MySQL, разработанный и поддерживаемый создателями MySQL и предназначенный для замены этой СУБД.

Если вкратце, то установить СУБД можно в три этапа: обновить индекс локальных пакетов, установить пакет mariadb-server и запустить сценарий безопасности:

sudo apt update
sudo apt install mariadb-server
sudo mysql_secure_installation

В этом мануале вы найдете более подробные инструкции по установке MariaDB 10.1 на сервер Debian 9.

Требования

  • Сервер Debian 9.
  • Пользователь с доступом к sudo.
  • Базовый брандмауэр.

1: Установка MariaDB

Debian 9 содержит пакет MariaDB 10.1 в стандартном репозитории. Это его вариант MySQL по умолчанию.

Чтобы установить его, обновите индекс пакетов:

sudo apt update

Теперь установите пакет:

sudo apt install mariadb-server

Команда установит MariaDB, но не предложит вам выбрать пароль или изменить другие настройки. На данный момент установка MariaDB имеет несколько уязвимостей, которые нужно устранить.

2: Настройка MariaDB

После завершения установки нужно запустить сценарий безопасности, который удалит ненадёжные параметры и защитит БД от несанкционированного доступа.

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

В следующем запросе скрипт предложит настроить пароль root для базы данных. Введите N и нажмите клавишу Enter. В Debian учетная запись root MariaDB тесно связана с автоматизированным обслуживанием системы, поэтому изменять стандартные методы аутентификации этой учетной записи нельзя. Иначе при обновлении пакета БД может повредиться, а доступ к учетной записи root может быть утрачен. Позже мы рассмотрим, как настроить дополнительную учетную запись администратора, если аутентификация сокетов вам не подходит.

На остальные вопросы можно нажать Y и Enter. Это удалит анонимных пользователей и тестовые базы данных, отключит удалённый root логин и обновит текущие настройки MariaDB.

3: Настройка поддержки парольной аутентификации

В новых установках Debian пользователь root MariaDB по умолчанию поддерживает аутентификацию с помощью плагина unix_socket, а не с помощью пароля. Это во многих случаях позволяет повысить безопасность и удобство использования, но также может усложнить работу, если вам необходимо разрешить доступ внешней программе (например, phpMyAdmin).

Поскольку сервер использует root-пользователя для таких задач, как ротация логов, запуск и остановка сервера, аутентификацию учетной записи root лучше не изменять. Изменение учетных данных в файле /etc/mysql/debian.cnf может сработать на начальном этапе, но дальнейшие обновления пакетов перезапишут эти изменения. Вместо этого разработчики рекомендуют создать отдельную учетную запись администратора с парольной аутентификацией.

Итак, создайте аккаунт под названием admin с теми же правами, что и у root, но с поддержкой парольной аутентификации. Для этого откройте командную строку MariaDB в терминале:

Теперь создайте нового пользователя с привилегиями root и поддержкой парольной аутентификации. Укажите в команде имя и пароль своего пользователя.

GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Закройте оболочку MariaDB:

4: Тестирование MariaDB

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

Если СУБД по какой-то причине не запустилась, введите:

sudo systemctl start mariadb

Для дополнительной проверки вы можете попробовать подключиться к базе данных с помощью инструмента mysqladmin (это клиент, который позволяет запускать административные команды). Например, эта команда подключится к MariaDB как root и выведет версию с помощью Unix-сокета:

sudo mysqladmin version
mysqladmin Ver 9.1 Distrib 10.1.26-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Server version 10.1.26-MariaDB-0+deb9u1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 2 hours 44 min 46 sec
Threads: 1 Questions: 36 Slow queries: 0 Opens: 21 Flush tables: 1 Open tables: 15 Queries per second avg: 0.003

Если вы создали дополнительного администратора, вы можете выполнить эту операцию с помощью команды:


15 Фев 2018 23:02:01 | 4 комментария

Установка MariaDB 10.2 на Debian 9

На текущий момент актуальной является версия

Исходные данные: ОС Debian 9.3 (Stretch);
Задача: Установить MariaDB 10.2.13 с минимум телодвижений и произвести базовую настройку БД;

В интернете можно найти много статей о том как установить MariaDB на Debian, но все они предлагают довольно громоздкие решения.
Есть так же официальная страничка по установке MariaDB с помощью пакетного менеджера apt, но она тоже не содержит простого решения, а ведь оно есть!

Установка MariaDB 10.2.13 на Debian 9:

1. Установка необходимых доп. пакетов:

P.S. Для любителей все делать руками есть удобный портал, где можно более гибко выбрать нужный репозитарий в зависимости от географического положения вашего сервера.

3. Обновляем список пакетов:

4. Устанавливаем последнюю версию MariaDB 10.2.x:

В процессе установки инсталлятор попросит нас придумать пароль пользователя root, на данном этапе мы его оставим пустым и поменяем потом.

После установки проверим статус работы MariaDB:

А так же попробуем подключиться к БД с помощью команды mysql (т.к. на этапе установки мы оставили пароль root пустым, то использовать опции -u root -p мы не будеи):

Мы успешно подключились к серверу MariaDB.

5. Теперь запустим мастер настройки безопасности:

На вопрос:
Enter current password for root (enter for none):
нажимаем Enter, текущий пароль root у нас пустой.

Далее вопрос:
Set root password? [Y/n]
вводим Y, да мы хотим поменять пароль root для подключения к MariaDB
и далее придумываем СЛОЖНЫЙ пароль root

Далее вопрос:
Remove anonymous users? [Y/n]
вводим Y, мы хотим удалить анонимного пользователя.

Далее вопрос:
Disallow root login remotely? [Y/n]
вводим Y, да мы хотим запретить подключаться под пользователем root к MariaDB с удаленных машин.

Далее вопрос:
Remove test database and access to it? [Y/n]
вводим Y, да мы хотим удалить тестовую базу test

И последний вопрос:
Reload privilege tables now? [Y/n]
вводим Y, да мы хотим перезагрузить таблицу привилегий для вступления их в силу.

После этого мы выполнили минимальные меры по защите нашего экземпляра MariaDB.

Попробуем теперь подключиться к базе:

Как мы видим с пустым паролем root нас больше не пускают.

Подключимся с указанием дополнительных опций и вводом пароля:

Отлично, все получилось.

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

Читайте также: