Как установить MariaDB на Debian 9

Вступление

MariaDB - это система управления базами данных с открытым исходным кодом, обычно устанавливаемая вместо MySQL как часть популярного https://www.digitalocean.com/community/tutorials/how-to-install -linux-apache-mariadb-php-lamp-stack-debian9 [LAMP] (Linux, Apache, MySQL, PHP / Python / Perl) стек. Он использует реляционную базу данных и SQL (язык структурированных запросов) для управления своими данными. MariaDB был исключен из MySQL в 2009 году из-за проблем с лицензированием.

Краткая версия установки проста: обновите индекс пакета, установите пакет + mariadb-server + (который указывает на MariaDB), а затем запустите включенный скрипт безопасности.

sudo apt update
sudo apt install mariadb-server
sudo mysql_secure_installation

В этом руководстве объясняется, как установить MariaDB версии 10.1 на сервере Debian 9.

Предпосылки

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

Шаг 1 - Установка MariaDB

В Debian 9 MariaDB версии 10.1 по умолчанию включена в репозитории пакета APT. Он помечен как вариант MySQL по умолчанию командой разработчиков Debian MySQL / MariaDB.

Чтобы установить его, обновите индекс пакета на вашем сервере с помощью + apt +:

sudo apt update

Затем установите пакет:

sudo apt install mariadb-server

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

Шаг 2 - Настройка MariaDB

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

Запустите скрипт безопасности:

sudo mysql_secure_installation

Это проведет вас через серию запросов, в которых вы сможете внести некоторые изменения в параметры безопасности вашей установки MariaDB. Первая подсказка попросит вас ввести текущую базу данных * root * пароль. Поскольку мы еще не настроили его, нажмите + ENTER +, чтобы указать “нет”.

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

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

Шаг 3 - (Необязательно) Настройка аутентификации пользователя и привилегий

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

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

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

sudo mysql

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

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

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

FLUSH PRIVILEGES;

После этого выйдите из оболочки MariaDB:

exit

Наконец, давайте проверим установку MariaDB.

Шаг 4 - Тестирование MariaDB

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

sudo systemctl status mariadb

Вы увидите вывод, похожий на следующий:

Выход

● mariadb.service - MariaDB database server
  Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
  Active:  since Tue 2018-09-04 16:22:47 UTC; 2h 35min ago
 Process: 15596 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSIT
 Process: 15594 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
 Process: 15478 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||
 Process: 15474 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITI
 Process: 15471 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysql
Main PID: 15567 (mysqld)
  Status: "Taking your SQL requests now..."
   Tasks: 27 (limit: 4915)
  CGroup: /system.slice/mariadb.service
          └─15567 /usr/sbin/mysqld

Sep 04 16:22:45 deb-mysql1 systemd[1]: Starting MariaDB database server...
Sep 04 16:22:46 deb-mysql1 mysqld[15567]: 2018-09-04 16:22:46 140183374869056 [Note] /usr/sbin/mysqld (mysqld 10.1.26-MariaDB-0+deb9u1) starting as process 15567 ...
Sep 04 16:22:47 deb-mysql1 systemd[1]:

Если MariaDB не работает, вы можете запустить его с помощью + sudo systemctl start mariadb +.

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

sudo mysqladmin version

Вы должны увидеть вывод, похожий на этот:

Outputmysqladmin  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

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

mysqladmin -u  -p version

Это означает, что MariaDB запущен и работает, и что ваш пользователь может успешно пройти аутентификацию.

Заключение

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

Related