Установка

Debian 8 установка mariadb: Установка MariaDB 10.1 в Debian 8

Содержание

Установка MariaDB 10.1 в Debian 8

Я решил отказаться от использования MySQL, а точнее полностью перевести все свои сервера на ее форк — MariaDB. Пользуясь случаем, хочу рассказать о процессе установки MariaDB 10.1 в Debian 8. Следует отметить, что краткое описание установки MariaDB есть на официальной странице проекта. Я решил выделить этому вопросу отдельный пост, в котором хочу описать необходимые действия после установки MariaDB на сервере.

Перед началом установки MariaDB необходимо добавить ее репозиторий. На сайте MariaDB рекомендуют для этого установить пакет software-properties-common. Я не вижу в этом никакого смысла и предпочитаю все делать вручную.

Регистрируем GPG-ключ репозитория в системе:

apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db

Добавляем описание репозитория в файл sources.list. Открываем файл в редакторе nano:

nano /etc/apt/sources.list

Копируем в конец следующие строки:

deb [arch=amd64,i386] http://lon1.mirrors.digitalocean.com/mariadb/repo/10.1/debian jessie main
deb-src http://lon1.mirrors.digitalocean.com/mariadb/repo/10.1/debian jessie main

Обновляем список доступных пакетов:

apt-get update

Запускаем процесс установки MariaDB 10.1:

apt-get install mariadb-server

Во время установки нас попросят ввести пароль для пользователя root. На этом процесс установки MariaDB в Debian 8 закончен. А теперь переходим к настройке сервера.

Чтобы повысить надежность нашего сервера, нужно выполнить минимальные требования безопасности. Запретить авторизацию под пользователем root с удаленных хостов. При наличии базы test и пользователя anonymous, нужно удалить их с сервера. Чтобы облегчить задачу используйте скрипт:

mysql_secure_installation

Тип хранения данных по умолчанию

Если необходимо изменить тип хранения данных по умолчанию, добавьте в файл my.cnf следующие строки:

[mysqld]
default-storage-engine = innodb

Убедитесь, что MariaDB использует таблицы InnoDB по умолчанию. Для этого выполните команду:

SHOW ENGINES;

Создать пользователя и базу MariaDB

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

CREATE USER 'USER_NAME'@'localhost' IDENTIFIED BY 'PASSWORD';

Создаем новую базу:

CREATE DATABASE database_name;

Даем полные права пользователю USER_NAME на базу databasename:

GRANT ALL PRIVILEGES ON database_name.* TO 'USER_NAME'@'localhost';

Теперь нужно обновить все привилегии:

FLUSH PRIVILEGES

Для просмотра привилегий выполните команду:

SHOW GRANTS FOR 'USER_NAME'@'localhost';

Бинарные логи

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

Для отключения бинарных логов, комментируем строки в файле my.cnf:

#log_bin                 = /var/log/mysql/mariadb-bin
#log_bin_index           = /var/log/mysql/mariadb-bin.index

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

MariaDB — это популярная система управления реляционными базами данных (RDBMS) с открытым исходным кодом, созданная разработчиками MySQL. Это быстрая, масштабируемая и надежная система баз данных с богатой экосистемой механизмов хранения, плагинов и многих других инструментов, предоставляющих интерфейс SQL для доступа к данным.

MariaDB — это расширенная замена MySQL, используемая такими организациями и компаниями, как Википедия, WordPress, Google и многими другими. В этой короткой статье мы покажем вам, как установить MariaDB в Debian 10.

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

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

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

apt install mariadb-server

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

systemctl status mariadb

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

systemctl start mariadb
systemctl restart mariadb
systemctl stop mariadb
systemctl reload mariadb

Настройка MariaDB в Debian 10

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

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

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

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

mysql -u root -p

Чтобы создать базу данных с именем my_test_db и пользователя с именем test_user с полными привилегиями для управления базой данных, выполните следующие команды SQL.

MariaDB [(none)]> CREATE DATABASE my_test_db;

MariaDB [(none)]> GRANT ALL ON my_test_db.* TO 'test_user'@'localhost' IDENTIFIED BY 'test_user_pass_here' WITH GRANT OPTION;

MariaDB [(none)]> FLUSH PRIVILEGES;

MariaDB [(none)]> exit;

 

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

mysql -u test_user -p

MariaDB [(none)]> SHOW DATABASES;

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

Установка и настройка MariaDB на Ubuntu и CentOS 🥇 Инструкция

Большое количество сервисов использует обращение к БД — web-приложения, сайты компаний, а также почтовые сервисы и различные системы учета. Сегодня рассмотрим установку одной из самых популярных СУБД — MariaDB.

В данной статье мы не будем рассматривать как установить и настроить LAMP-сервер, это рассмотрено в отдельной статье (ссылка на статью о LAMP).

Следует обратить внимание, что MySQL-сервер в репозиториях заменен на MariaDB по причине открытости кода и активного развития самого проекта.

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

Ubuntu

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

sudo apt-get update

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

sudo apt-get upgrade

Перезагружаем систему, иногда это требуется:

sudo reboot

Проверяем версию пакета MariaDB-server в репозитории:

apt-cache show mariadb-server

Для Ubuntu 16.04 ответ будет таким

Для Ubunru 18.04:

Добавим информацию о репозитории с версией 10.3. Важно: для каждой версии Ubuntu свои репозитории.

Для Ubuntu 16.04 по очереди выполняем следующие команды:

sudo apt-get install software-properties-common sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8 sudo add-apt-repository 'deb [arch=amd64,arm64,i386,ppc64el] http://mirror.timeweb.ru/mariadb/repo/10.3/ubuntu xenial main'

Для Ubuntu 18.04:

sudo apt-get install software-properties-common sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8 sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirror.timeweb.ru/mariadb/repo/10.3/ubuntu bionic main'

Обновим информацию о содержимом репозиториев и выполним установку

sudo apt-get update sudo apt-get install mariadb-server

Независимо от версии Ubuntu, программа установки потребует ввод пароля пользователя root и его подтверждение:

CentOS

Обновляем компоненты системы, а заодно и данные о репозиториях

sudo yum update

Добавляем репозиторий для стабильной версии 10.3. Для этого переходим в каталог с файлами репозитория и создадим файл:

cd /etc/yum.repos.d/ sudo touch MariaDB.repo

Данные с официального сайта добавляем в файл любым редактором:

# MariaDB 10.3 CentOS repository list - created 2019-05-07 06:43 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

    

Устанавливаем пакет:

sudo yum install MariaDB-server MariaDB-client

Программа yum соберет все необходимые данные для установки и будет ожидать действия пользователя

Отвечаем на вопрос “y” и нажимаем Enter. Количество устанавливаемых пакетов у вас может быть другим.

Команду следует выполнить повторно в случае следующей ошибки:

Error downloading packages:
  MariaDB-compat-10.3.14-1.el7.centos.x86_64: [Errno 256] No more mirrors to try.
  MariaDB-client-10.3.14-1.el7.centos.x86_64: [Errno 256] No more mirrors to try.
  MariaDB-common-10.3.14-1.el7.centos.x86_64: [Errno 256] No more mirrors to try.

    

После установки следует запустить сервер:

sudo service mysql start

Настройка

Большинство программ устанавливаются с параметрами по умолчанию. Независимо от дистрибутива рекомендуется выполнить оптимизацию параметров безопасности.

sudo mysql_secure_installation

Да, именно “mysql”, потому что проект MariaDB “вытек” из MySQL.

В самом начале программа запросит пароль для пользователя root. Если пароль не был установлен, то нажимаем Enter. На большинство вопросов можно ответить “y”. Вопросы и перевод к ним приведены ниже:

Change the root password? [Y/n]

Изменить пароль пользователя root?

Remove anonymous users? [Y/n]

Удалить анонимных пользователей?

Disallow root login remotely? [Y/n]

Запретить удаленное подключение от имени root?

Remove test database and access to it? [Y/n]

Удалить базу данных test и доступ к ней?

Reload privilege tables now? [Y/n]

Перезагрузить таблицу привилегий сейчас?

Проверка состояния сервера

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

sudo service mysql status

<img src="https://serverspace.by/wp-content/uploads/2020/06/52_6.png" alt="" />

Следует обратить внимание, что если сервер не запущен, то его нужно запустить в ручном режиме командой:

sudo service mysql start

Проверка подключения к СУБД

Подключение к СУБД происходит следующей командой:

mysql -u <ИМЯ_ПОЛЬЗОВАТЕЛЯ> -p

Если это первое подключение и другие пользователи не были добавлены, следует подключаться от пользователя root:

mysql -u root -p

Затем следует ввести пароль пользователя root, если пароль не был задан, то нажать Enter.

Выход из оболочки по команде:

exit

Средняя оценка: 5.0
Оценили: 1

220140
Минск
ул. Домбровская, д. 9

+375 (173) 88-72-49

700
300

ООО «ИТГЛОБАЛКОМ БЕЛ»

220140
Минск
ул. Домбровская, д. 9

+375 (173) 88-72-49

700
300

ООО «ИТГЛОБАЛКОМ БЕЛ»

700
300

MariaDB оптимизация и установка | сЭВО:эволюция работ

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

Введение

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

Установка MariaDB

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

Репозиторий разработчика

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

Рекомендую воспользоваться ссылкой выше и использовать код репозитория и команды установки исходя из вашей системы.

Например, для системы CentOS 8 с выбором версии 10.4 я получил код который размещу в необходимый файл:

vim /etc/yum.repos.d/mariadb.repo
= необходимый код =
# MariaDB 10.4 CentOS repository list - created 2019-10-24 18:16 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos8-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Установка MariaDB

На странице, где указан код присутствует и команда которую необходимо выполнить для установки исходя из выбранного дистрибутива. Для CentOS 8 команда имеет такой вид:

dnf install boost-program-options
dnf install MariaDB-server MariaDB-client --disablerepo=AppStream

Перед продолжением установки смотрим чтобы репозиторий был mariadb!

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

systemctl start mariadb
systemctl enable mariadb

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

systemctl status mariadb
= вывод команды =
● mariadb.service - MariaDB 10.4.8 database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/mariadb.service.d
           └─migrated-from-my.cnf-settings.conf
   Active: active (running) since Thu 2019-10-24 21:27:02 MSK; 40s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
 Main PID: 1798 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 30 (limit: 11524)
   Memory: 74.3M
   CGroup: /system.slice/mariadb.service
           └─1798 /usr/sbin/mysqld

окт 24 21:27:02 wp-lxc.pro-php7.sevo44.loc mysqld[1798]: 2019-10-24 21:27:02 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
окт 24 21:27:02 wp-lxc.pro-php7.sevo44.loc mysqld[1798]: 2019-10-24 21:27:02 0 [Note] InnoDB: Buffer pool(s) load completed at 191024 21:27:02
окт 24 21:27:02 wp-lxc.pro-php7.sevo44.loc mysqld[1798]: 2019-10-24 21:27:02 0 [Note] Plugin 'FEEDBACK' is disabled.
окт 24 21:27:02 wp-lxc.pro-php7.sevo44.loc mysqld[1798]: 2019-10-24 21:27:02 0 [Note] Server socket created on IP: '::'.
окт 24 21:27:02 wp-lxc.pro-php7.sevo44.loc mysqld[1798]: 2019-10-24 21:27:02 0 [Note] Reading of all Master_info entries succeeded
окт 24 21:27:02 wp-lxc.pro-php7.sevo44.loc mysqld[1798]: 2019-10-24 21:27:02 0 [Note] Added new Master_info '' to hash table
окт 24 21:27:02 wp-lxc.pro-php7.sevo44.loc mysqld[1798]: 2019-10-24 21:27:02 0 [Note] /usr/sbin/mysqld: ready for connections.
окт 24 21:27:02 wp-lxc.pro-php7.sevo44.loc mysqld[1798]: Version: '10.4.8-MariaDB'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MariaDB Server
окт 24 21:27:02 wp-lxc.pro-php7.sevo44.loc systemd[1]: Started MariaDB 10.4.8 database server.
окт 24 21:27:14 wp-lxc.pro-php7.sevo44.loc systemd[1]: mariadb.service: Failed to reset devices.list: Operation not permitted

Из вывода видно что все хорошо. Стараюсь всегда проверять статус после установки и запуска сервисов, так как это дает уверенность в том что все работает как надо.

Начальная конфигурация mysql

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

/usr/bin/mysql_secure_installation
= вывод команды с пояснениями (перевод) =
Примечание: запуск всех частей этого сценария рекомендуется для всех MariaDB
СЕРВЕРА В ЭКСПЛУАТАЦИЮ! ПОЖАЛУЙСТА, ВНИМАТЕЛЬНО ПРОЧИТАЙТЕ КАЖДЫЙ ШАГ!

1. Для того, чтобы войти в MariaDB обеспечения его, нам понадобится текущий пароль для пользователя root. Если вы только что установили MariaDB и вы еще не установили пароль root, пароль будет пустым, поэтому вы должны просто нажать здесь.
Введите текущий пароль для root (enter for none):

2. Установка пароля root гарантирует, что никто не может войти в MariaDB пользователь root без надлежащего разрешения.
Задать пароль пользователя root? [Y / n]

3. По умолчанию, установка MariaDB имеет анонимного пользователя, что позволяет любому чтобы войти в MariaDB без необходимости иметь учетную запись пользователя, созданную для их. Это предназначено только для испытывать, и сделать установку пойти немного более гладким. Вы должны удалить их перед перемещением в производственная среда.
Удалить анонимных пользователей? [Y / n]

4. Обычно, root должно быть позволено подключаться от "localhost". Этот гарантирует, что кто-то не может угадать пароль.
Запретить root подключаться удаленно? [Y / n]

5. По умолчанию, MariaDB поставляется с базой данных с именем "test", что любой может доступ. Это также предназначено только для тестирования и должно быть удалено перед переходом в производственную среду.
Удалить тестовую базу данных и доступ к ней? [Y / n]

6. Перезагрузить таблицы привилегий обеспечит, что все изменения, сделанные до сих пор вступит в силу немедленно.
Перезагрузить таблицы привилегий сейчас? [Y / n]

Все сделано! Если вы выполнили все вышеперечисленные шаги, ваш MariaDB теперь установка должна быть безопасной.
Спасибо за использование MariaDB!

Информация о действующих параметрах

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

mysqld --verbose --help
= часть вывода команды с пояснениями =
!!! в консоли у меня не показывается первая часть вывода и как её увидеть я сказу ниже!!!
= в верхней части вы увидите где находится файл настойки =
mysqld Ver 10.3.12-MariaDB-log for Linux on x86_64 (MariaDB Server)
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Starts the MariaDB database server.

Usage: mysqld [OPTIONS]

Default options are read from the following files in the given order:
/etc/my.cnf ~/.my.cnf

= в этой части увидите вывод всех возможных параметров = 
--thread-handling=name 
                      Define threads usage for handling queries. One of: 
                      one-thread-per-connection, no-threads, pool-of-threads
  --thread-pool-idle-timeout=# 
                      Timeout in seconds for an idle thread in the thread
                      pool.Worker thread will be shut down after timeout
  --thread-pool-max-threads=# 
                      Maximum allowed number of worker threads in the thread
                      pool

= в этой части параметры которые используются по умолчанию =
Variables (--variable-name=value)
and boolean options {FALSE|TRUE}                           Value (after reading options)
---------------------------------------------------------- ---------------
allow-suspicious-udfs                                      FALSE
alter-algorithm                                            DEFAULT
aria                                                       ON
aria-block-size                                            8192
aria-checkpoint-interval                                   30
aria-checkpoint-log-activity                               1048576
aria-encrypt-tables                                        FALSE
aria-force-start-after-recovery-failures                   0
aria-group-commit                                          none
aria-group-commit-interval                                 0
aria-log-dir-path                                          /var/lib/mysql/
aria-log-file-size                                         1073741824
aria-log-purge-type                                        immediate
= в конце информация о том как посмотреть текущие параметры =

To see what values a running MySQL server is using, type
'mysqladmin variables' instead of 'mysqld --verbose --help'.

перевод
Чтобы увидеть, какие значения использует работающий сервер MySQL, введите 'mysqladmin variables' вместо 'mysqld --verbose --help'.

Вся информация в консоли не покажется поэтому лучше вывод сделать в файл:

 mysqld --verbose --help > mysqld--verbose--help.txt

Какие значения использует работающий сервер тоже лучше вывести в файл:

mysqladmin variables -u root -p > mysqladmin-variables.txt
Enter password: 

Правильная оптимизация MariaDB возможно только при использовании правильных параметров исходя из вашей версии!

Файл настройки MariaDB

В фале /etc/my.cnf присутствует строка !includedir /etc/my.cnf.d говорящая о том что все настройки находятся в папке /etc/my.cnf.d

Все основные настройки необходимо вносить в раздел [mysqld] файла server.cnf.

Аналитика работы MariaDB

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

Включим отображение медленных запросов добавив следующие строки в /etc/my.cnf.d/server.cnf, в секцию [mysqld]:

vim /etc/my.cnf.d/server.cnf
= необходимые параметры в секцию [mysqld] =
# запись лога медленных запросов
slow_query_log=ON
# путь к файлу 
slow_query_log_file=/var/lib/mysql/slow_queries.log
# минимальное время запроса для внесения
long_query_time=2
# включить в лог запросы, которые не используют индексы
#log-queries-not-using-indexes=1

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

Перезапустим сервер баз данных и посмотрим лог медленных запросов:

systemctl restart mariadb
tail -f /var/lib/mysql/slow_queries.log
= вывод команды =
Time		    Id Command	Argument
/usr/sbin/mysqld, Version: 10.3.12-MariaDB-log (MariaDB Server). started with:
Tcp port: 0  Unix socket: (null)
= для выхода ctrl+c =

В нашем случае медленных запросов нет.

Оптимизация MariaDB

Подходите очень ответственно. Неправильные действия могут вызвать неприятные последствия!

Для правильной оптимизации необходимо владеть всей необходимой информацией. Например, для меня это:

  • Информация о действующих параметрах — перед тем как вносить изменения необходимо смотреть какой параметр действует на данный момент ,
  • Аналитика работы — без аналитики работы вообще бессмысленно производить оптимизацию,
  • Требование к базе данных — у разных движков сайтов существует разное требование для работы с базой данных и это надо учитывать.

Работа с MySQLTunner

Существует perl-скрипт Mysqltuner, который анализирует статистику работы Mysql и выдает свои рекомендации что бы была проведена правильная оптимизация MariaDB.

Установка

Создадим папку, перейдем в неё и скачаем скрипт следующим образом:

mkdir mysqltuner
cd mysqltuner
wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl

Если возникает ошибка вида:

ERROR: cannot verify raw.githubusercontent.com’s certificate, issued by ‘/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 High Assurance Server CA’:
Unable to locally verify the issuer’s authority.
To connect to raw.githubusercontent.com insecurely, use `—no-check-certificate’.

Запускаем с ключом —no-check-certificate:

# wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl --no-check-certificate

Можно скачать базы данных простых паролей и уязвимостей. Скачаем обе базы:

= База простых паролей =
wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/basic_passwords.txt -O basic_passwords.txt

= База уязвимостей =
wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/vulnerabilities.csv -O vulnerabilities.csv

Базы простых паролей и уязвимостей будут использоваться только при запуске скрипта!

Также, можно произвести установку из репозиториев:

Debian/Ubuntu:

apt install mysqltuner

CentOS:

yum install mysqltuner
Оптимизация

Чтобы данные анализа и статистика были корректными, сервер Mysql должен проработать без смены параметров конфигурации и без перезагрузок, по рекомендации самого Mysqltuner не менее 24 часов.

Обращаю внимание на то что правильная оптимизация MariaDB возможно при рабочих базах данных. Перед внесением изменений не ленитесь смотреть какие имеются текущие настройки базы. Скрипт может давать ошибочные выводы!

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

perl mysqltuner.pl

Если производилась установка:

mysqltuner

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

mysqltuner
= вывод команды =
>> MySQLTuner 1.7.13 - Major Hayden <[email protected]>
>> Bug reports, feature requests, and downloads at http://mysqltuner.com/
>> Run with '--help' for additional options and output filtering

[--] Skipped version check for MySQLTuner script
Please enter your MySQL administrative login: root
Please enter your MySQL administrative password: [OK] Currently running supported MySQL version 10.3.12-MariaDB
[OK] Operating on 64-bit architecture

-------- Log file Recommendations
[--] Log file: /var/lib/mysql/mysql_error.log(0B)
[!!] Log file /var/lib/mysql/mysql_error.log doesn't exist
[!!] Log file /var/lib/mysql/mysql_error.log isn't readable.

-------- Storage Engine Statistics
[--] Status: +Aria +CSV +InnoDB +MEMORY +MRG_MyISAM +MyISAM +PERFORMANCE_SCHEMA +SEQUENCE 
[!!] InnoDB is enabled but isn't being used
[OK] Total fragmented tables: 0

-------- Analysis Performance Metrics
[--] innodb_stats_on_metadata: OFF
[OK] No stat updates during querying INFORMATION_SCHEMA.

-------- Security Recommendations
[OK] There are no anonymous accounts for any database users
[OK] All database users have passwords assigned
[!!] There is no basic password file list!

-------- CVE Security Recommendations
[--] Skipped due to --cvefile option undefined

-------- Performance Metrics
[--] Up for: 28s (10 q [0.357 qps], 14 conn, TX: 56K, RX: 1K)
[--] Reads / Writes: 100% / 0%
[--] Binary logging is disabled
[--] Physical Memory : 1.8G
[--] Max MySQL memory : 856.4M
[--] Other process memory: 33.7M
[--] Total buffers: 417.0M global + 2.9M per thread (151 max threads)
[--] P_S Max memory usage: 0B
[--] Galera GCache Max memory usage: 0B
[OK] Maximum reached memory usage: 419.9M (22.84% of installed RAM)
[OK] Maximum possible memory usage: 856.4M (46.59% of installed RAM)
[OK] Overall possible memory usage with other process is compatible with memory available
[OK] Slow queries: 0% (0/10)
[OK] Highest usage of available connections: 0% (1/151)
[!!] Aborted connections: 7.14% (1/14)
[!!] name resolution is active : a reverse name resolution is made for each new connection and can reduce performance
[!!] Query cache may be disabled by default due to mutex contention.
[!!] Query cache efficiency: 0.0% (0 cached / 1 selects)
[OK] Query cache prunes per day: 0
[OK] No Sort requiring temporary tables
[OK] No joins without indexes
[OK] Temporary tables created on disk: 0% (0 on disk / 4 total)
[OK] Thread cache hit rate: 92% (1 created / 14 connections)
[OK] Table cache hit rate: 64% (11 open / 17 opened)
[OK] Open file limit used: 0% (25/16K)
[OK] Table locks acquired immediately: 100% (18 immediate / 18 locks)

-------- Performance schema
[--] Performance schema is disabled.
[--] Memory used by P_S: 0B
[--] Sys schema isn't installed.

-------- ThreadPool Metrics
[--] ThreadPool stat is enabled.
[--] Thread Pool Size: 1 thread(s).
[--] Using default value is good enough for your version (10.3.12-MariaDB)

-------- MyISAM Metrics
[!!] Key buffer used: 18.2% (24M used / 134M cache)
[OK] Key buffer size / total MyISAM indexes: 128.0M/123.0K

-------- InnoDB Metrics
[--] InnoDB is disabled.
[!!] InnoDB Storage engine is disabled. InnoDB is the default storage engine

-------- AriaDB Metrics
[--] AriaDB is enabled.
[OK] Aria pagecache size / total Aria indexes: 128.0M/1B

-------- TokuDB Metrics
[--] TokuDB is disabled.

-------- XtraDB Metrics
[--] XtraDB is disabled.

-------- Galera Metrics
[--] Galera is disabled.

-------- Replication Metrics
[--] Galera Synchronous replication: NO
[--] No replication slave(s) for this server.
[--] Binlog format: MIXED
[--] XA support enabled: ON
[--] Semi synchronous replication Master: OFF
[--] Semi synchronous replication Slave: OFF
[--] This is a standalone server

-------- Recommendations
General recommendations:
Add skip-innodb to MySQL configuration to disable InnoDB
MySQL was started within the last 24 hours - recommendations may be inaccurate
Reduce or eliminate unclosed connections and network issues
Configure your accounts with ip or subnets only, then update your configuration with skip-name-resolve=1
Performance schema should be activated for better diagnostics
Consider installing Sys schema from https://github.com/mysql/mysql-sys
Variables to adjust:
query_cache_size (=0)
query_cache_type (=0)
query_cache_limit (> 1M, or use smaller result sets)
performance_schema = ON enable PFS

Так выглядит вывод команды после 48 часов работы MariaDB без рабочих баз.

Обращать внимание надо на параметры с восклицательными знаками.

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

vim /etc/my.cnf.d/server.cnf
= необходимые дополнения в [mysqld] =
# необходимо для mysqltuner
log_error=/var/lib/mysql/mysql_error.log

В самом конце вывода утилита предоставит список рекомендаций как исправить ситуацию.

  • query_cache_size (=0)
  • query_cache_type (=0)
  • query_cache_limit (> 1M, or use smaller result sets)

Скрипт рекомендует отключить кэш запросов. Query Cache — это кэш вызовов SELECT. Когда базе данных отправляется запрос, она выполняет его и сохраняет сам запрос и результат в этом кэше. При использовании его вместе с InnoDB при любом изменении совпадающих данных кэш будет перестраиваться, что влечет за собой потерю производительности. И чем больше объем кэша, тем больше потери. Кроме того при обновлении кэша могут возникать блокировки запросов. Таким образом, если данные часто пишутся в базу данных — его надежнее отключить добавив следующий код:

vim /etc/my.cnf.d/server.cnf
= необходимые дополнения [mysqld] =
# рекомендации mysqltuner
query_cache_size=0
query_cache_type=0
query_cache_limit=1M
  • performance_schema = ON enable PFS

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

После внесения изменений выполним перезапуск MariaDB:

systemctl restart mariadb

Теперь вывод примет вид:

mysqltuner
= вывод команды =
>> MySQLTuner 1.7.13 - Major Hayden <[email protected]>
>> Bug reports, feature requests, and downloads at http://mysqltuner.com/
>> Run with '--help' for additional options and output filtering

[--] Skipped version check for MySQLTuner script
Please enter your MySQL administrative login: root
Please enter your MySQL administrative password: [OK] Currently running supported MySQL version 10.3.12-MariaDB-log
[OK] Operating on 64-bit architecture

-------- Log file Recommendations
[--] Log file: /var/lib/mysql/mysql_error.log(35K)
[OK] Log file /var/lib/mysql/mysql_error.log exists
[OK] Log file /var/lib/mysql/mysql_error.log is readable.
[OK] Log file /var/lib/mysql/mysql_error.log is not empty
[OK] Log file /var/lib/mysql/mysql_error.log is smaller than 32 Mb
[!!] /var/lib/mysql/mysql_error.log contains 0 warning(s).
[!!] /var/lib/mysql/mysql_error.log contains 0 error(s).
[--] 12 start(s) detected in /var/lib/mysql/mysql_error.log
[--] 1) 2019-02-11 23:07:41 0 [Note] /usr/sbin/mysqld: ready for connections.
[--] 2) 2019-02-11 0:19:06 0 [Note] /usr/sbin/mysqld: ready for connections.
[--] 3) 2019-02-11 0:01:53 0 [Note] /usr/sbin/mysqld: ready for connections.
[--] 4) 2019-02-10 23:45:22 0 [Note] /usr/sbin/mysqld: ready for connections.
[--] 5) 2019-02-10 23:42:20 0 [Note] /usr/sbin/mysqld: ready for connections.
[--] 6) 2019-02-10 23:40:37 0 [Note] /usr/sbin/mysqld: ready for connections.
[--] 7) 2019-02-10 23:36:16 0 [Note] /usr/sbin/mysqld: ready for connections.
[--] 8) 2019-02-10 23:33:53 0 [Note] /usr/sbin/mysqld: ready for connections.
[--] 9) 2019-02-10 23:16:12 0 [Note] /usr/sbin/mysqld: ready for connections.
[--] 10) 2019-02-10 23:05:08 0 [Note] /usr/sbin/mysqld: ready for connections.
[--] 11 shutdown(s) detected in /var/lib/mysql/mysql_error.log
[--] 1) 2019-02-11 9:12:02 0 [Note] /usr/sbin/mysqld: Shutdown complete
[--] 2) 2019-02-11 0:19:06 0 [Note] /usr/sbin/mysqld: Shutdown complete
[--] 3) 2019-02-11 0:01:53 0 [Note] /usr/sbin/mysqld: Shutdown complete
[--] 4) 2019-02-10 23:45:21 0 [Note] /usr/sbin/mysqld: Shutdown complete
[--] 5) 2019-02-10 23:42:19 0 [Note] /usr/sbin/mysqld: Shutdown complete
[--] 6) 2019-02-10 23:40:37 0 [Note] /usr/sbin/mysqld: Shutdown complete
[--] 7) 2019-02-10 23:36:16 0 [Note] /usr/sbin/mysqld: Shutdown complete
[--] 8) 2019-02-10 23:28:06 0 [Note] /usr/sbin/mysqld: Shutdown complete
[--] 9) 2019-02-10 23:16:12 0 [Note] /usr/sbin/mysqld: Shutdown complete
[--] 10) 2019-02-10 23:05:07 0 [Note] /usr/sbin/mysqld: Shutdown complete

-------- Storage Engine Statistics
[--] Status: +Aria +CSV +InnoDB +MEMORY +MRG_MyISAM +MyISAM +PERFORMANCE_SCHEMA +SEQUENCE 
[!!] InnoDB is enabled but isn't being used
[OK] Total fragmented tables: 0

-------- Analysis Performance Metrics
[--] innodb_stats_on_metadata: OFF
[OK] No stat updates during querying INFORMATION_SCHEMA.

-------- Security Recommendations
[OK] There are no anonymous accounts for any database users
[OK] All database users have passwords assigned
[!!] There is no basic password file list!

-------- CVE Security Recommendations
[--] Skipped due to --cvefile option undefined

-------- Performance Metrics
[--] Up for: 58s (10 q [0.172 qps], 14 conn, TX: 56K, RX: 1K)
[--] Reads / Writes: 100% / 0%
[--] Binary logging is disabled
[--] Physical Memory : 1.8G
[--] Max MySQL memory : 1.5G
[--] Other process memory: 59.2M
[--] Total buffers: 1.0G global + 2.9M per thread (151 max threads)
[--] P_S Max memory usage: 0B
[--] Galera GCache Max memory usage: 0B
[OK] Maximum reached memory usage: 1.0G (57.61% of installed RAM)
[OK] Maximum possible memory usage: 1.5G (81.36% of installed RAM)
[OK] Overall possible memory usage with other process is compatible with memory available
[OK] Slow queries: 0% (0/10)
[OK] Highest usage of available connections: 0% (1/151)
[!!] Aborted connections: 7.14% (1/14)
[!!] name resolution is active : a reverse name resolution is made for each new connection and can reduce performance
[OK] Query cache is disabled by default due to mutex contention on multiprocessor machines.
[OK] No Sort requiring temporary tables
[OK] No joins without indexes
[OK] Temporary tables created on disk: 0% (0 on disk / 4 total)
[OK] Thread cache hit rate: 92% (1 created / 14 connections)
[OK] Table cache hit rate: 64% (11 open / 17 opened)
[OK] Open file limit used: 0% (26/16K)
[OK] Table locks acquired immediately: 100% (18 immediate / 18 locks)

-------- Performance schema
[--] Performance schema is disabled.
[--] Memory used by P_S: 0B
[--] Sys schema isn't installed.

-------- ThreadPool Metrics
[--] ThreadPool stat is enabled.
[--] Thread Pool Size: 1 thread(s).
[--] Using default value is good enough for your version (10.3.12-MariaDB-log)

-------- MyISAM Metrics
[!!] Key buffer used: 18.2% (24M used / 134M cache)
[OK] Key buffer size / total MyISAM indexes: 128.0M/123.0K

-------- InnoDB Metrics
[--] InnoDB is disabled.
[!!] InnoDB Storage engine is disabled. InnoDB is the default storage engine

-------- AriaDB Metrics
[--] AriaDB is enabled.
[OK] Aria pagecache size / total Aria indexes: 128.0M/1B

-------- TokuDB Metrics
[--] TokuDB is disabled.

-------- XtraDB Metrics
[--] XtraDB is disabled.

-------- Galera Metrics
[--] Galera is disabled.

-------- Replication Metrics
[--] Galera Synchronous replication: NO
[--] No replication slave(s) for this server.
[--] Binlog format: MIXED
[--] XA support enabled: ON
[--] Semi synchronous replication Master: OFF
[--] Semi synchronous replication Slave: OFF
[--] This is a standalone server

-------- Recommendations
General recommendations:
Control warning line(s) into /var/lib/mysql/mysql_error.log file
Control error line(s) into /var/lib/mysql/mysql_error.log file
Add skip-innodb to MySQL configuration to disable InnoDB
MySQL was started within the last 24 hours - recommendations may be inaccurate
Reduce or eliminate unclosed connections and network issues
Configure your accounts with ip or subnets only, then update your configuration with skip-name-resolve=1
Performance schema should be activated for better diagnostics
Consider installing Sys schema from https://github.com/mysql/mysql-sys
Variables to adjust:
performance_schema = ON enable PFS

Базовые параметры

Обычно я добавляю следующие параметры по умолчанию в свои сервера:

vim /etc/my.cnf.d/server.cnf 
= необходимые дополнения [mysqld] =
# базовые настройки
character_set_server=utf8
collation-server=utf8_bin
init_connect="SET NAMES utf8 collate utf8_bin"

innodb_file_per_table=1
innodb_buffer_pool_size = 800M # внимание на параметр! установить примерно в 2 раза меньше объема оперативной памяти сервера
innodb_log_file_size = 200M # размер файла лога innodb должен составлять 25% от размера буфера
innodb_buffer_pool_instances=1 # увеличивать на 1 каждый GB innodb_buffer_pool_size
innodb_flush_log_at_trx_commit = 0
innodb_log_files_in_group = 3

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

# systemctl status mariadb -l

Ротация логов MariaDB

Откроем необходимый файл и сделаем необходимые изменения:

vim /etc/logrotate.d/mysql
= часть вывода с необходимыми изменениями =
/var/lib/mysql/*log {
        # create 600 mysql mysql
        notifempty
        daily
        size 5M
        rotate 7
        missingok
        compress
    postrotate
        # just if mysqld is really running
        if test -x /usr/bin/mysqladmin && \
           /usr/bin/mysqladmin ping &>/dev/null
        then
           /usr/bin/mysqladmin --local flush-error-log \
              flush-engine-log flush-general-log flush-slow-log
        fi
    endscript
}

Мы указали что надо ротировать все логи и хранить 7 дней при условии что размер файла 5 Mегабайт.

Сохраним и применим изменения без перезагрузки:

logrotate /etc/logrotate.conf

Проверим правильность выполнив тестирование (опция -d):

logrotate -d /etc/logrotate.d/mysql
= вывод команды =
reading config file /etc/logrotate.d/mysql
Allocating hash table for state file, size 15360 B

Handling 1 logs

rotating pattern: /var/lib/mysql/*log  5242880 bytes (7 rotations)
empty log files are not rotated, old logs are removed
considering log /var/lib/mysql/mysql_error.log
  log does not need rotating (log size is below the 'size' threshold)
considering log /var/lib/mysql/slow_queries.log
  log does not need rotating (log size is below the 'size' threshold)
considering log /var/lib/mysql/tc.log
  log does not need rotating (log size is below the 'size' threshold)

Все логи не имеют необходимого размера для выполнения ротации.

Вывод

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

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

Исходя из статьи вы теперь знаете откуда брать информацию о всех параметрах вашего сервера баз данных.

Для желающих дополнить или подправить ниже есть комментарии.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

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

MariaDB – это многопоточная система управления реляционными базами данных с открытым исходным кодом, обратно совместимая замена для MySQL. MariaDB – это стандартная реализация MySQL в Debian.

В этой статье объясняется, как установить MariaDB в Debian 10.

На момент написания этой статьи последняя версия MariaDB, доступная в основной части Debian, – это версия 10.3.

Для установки MariaDB в Debian 10 выполните следующие действия как пользователь root или пользователь с привилегиями sudo:

  1. Начните с обновления индекса пакетов:
    sudo apt update
  2. Установите серверные и клиентские пакеты MariaDB, выполнив следующую команду:
    sudo apt install mariadb-server
  3. Сервис MariaDB запустится автоматически. Чтобы проверить это, проверьте статус услуги:
    sudo systemctl status mariadb

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

    ● mariadb.service - MariaDB 10.3.15 database server
       Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
       Active: active (running) since Thu 2019-07-11 14:36:28 PDT; 19min ago
         Docs: man:mysqld(8)
               https://mariadb.com/kb/en/library/systemd/
     Main PID: 4509 (mysqld)
       Status: "Taking your SQL requests now..."
        Tasks: 30 (limit: 2359)
       Memory: 78.6M
       CGroup: /system.slice/mariadb.service
               └─4509 /usr/sbin/mysqld

MariaDB поставляется со скриптом, который может помочь вам повысить безопасность установки. Чтобы запустить скрипт mysql_secure_installation в вашем терминале:

sudo mysql_secure_installation

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

...
Enter current password for root (enter for none):
...
Set root password? [Y/n] Y
New password: 
Re-enter new password: 
...
Remove anonymous users? [Y/n] Y
...
Disallow root login remotely? [Y/n] Y
...
Remove test database and access to it? [Y/n] Y
...
Reload privilege tables now? [Y/n] Y
...
Thanks for using MariaDB!

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

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

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

Это означает, что вы можете подключиться к серверу MariaDB как пользователь root, только если вы вызываете команду mysql как системный root или добавляете sudo к команде.

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

Если вы хотите изменить аутентификацию root на классическую, войдите на сервер MariaDB:

sudo mysql

Запустите следующие операторы, чтобы изменить плагин аутентификации:

ALTER USER 'root'@'localhost' IDENTIFIED VIA mysql_native_password;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_root_passwd';

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

mysql -u root -p

Изменение плагина аутентификации также позволит вам войти в систему как root из внешней программы, такой как phpMyAdmin.

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

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

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

MariaDB это база данных, которая является ответвлением MySQL. В последней версии Debian Stretch отсутствует MySQL и предлагается использовать MariaDB.
В этой статье описывается установка MariaDB, хотя она и довольно проста.

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

apt-get install mariadb-server mariadb-client

По умолчанию в установленной MariaDB отсутствует административный пользователь с паролем (используется аутентификация по сокету), поэтому есть два варианта:

  • добавить пользователя с полным набором прав;
  • добавить пользователю root пароль и возможность входа.

Добавления пользователя

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

mariadb

Создадим обычного пользователя со всеми правами и идентификацией по паролю.
Имя пользователя: user
Пароль: password

CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';

Назначим максимальные привилегии для созданного пользователя.

GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost';

Применим изменения:

FLUSH PRIVILEGES;

Выходим из консольного клиента:

EXIT;

Добавления пароля для пользователя root

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

Запускаем скрипт:

mysql_secure_installation

Требуется ввести текущий пароль пользователя root (по умолчанию он пустой, поэтому просто нажимаем Enter):

Enter current password for root (enter for none):

Требуется ли установить пароль для пользователя root (нажимаем Y и Enter):

Set root password? [Y/n]

Далее нас попросят указать новый пароль для пользователя root.

Удалить возможность подключения для анонимных пользователей (нажимаем Y и Enter):

Remove anonymous users? [Y/n]

Запретить удаленный вход для пользователя root (нажимаем Y и Enter):

Disallow root login remotely? [Y/n]

Удалить тестовую базу: (нажимаем Y и Enter):

Remove test database and access to it? [Y/n]

Обновить привилегии (нажимаем Y и Enter):

Reload privilege tables now? [Y/n]

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

mariadb

Убрать аутентификацию через сокет:

use mysql;
UPDATE `user` SET `plugin` = NULL WHERE `user`.`Host` = 'localhost' AND `user`.`User` = 'root';

И обновить привилегии:

FLUSH PRIVILEGES;

После выполнения всех действий выходим из консольного клиента:

EXIT;

Какой из двух вариантов выбрать — решать вам.
На этом установка закончена. Теперь можно подключаться с парольной аутентификацией. Так же можно установить PhpMyAdmin для графического управления базой данных.

Заказать создание и поддержку безопасной IT-инфраструктуры любой сложности

Быть уверенным в своей IT-инфраструктуре — это быть уверенным в завтрашнем дне.

Для того, чтобы сделать заказ:

Установка MariaDB в Ubuntu 18.04

MariaDB — это очень популярная система управления базами данных, которая пришла на смену MySQL. Фактически, это одно и то же программное обеспечение, только MariaDB развивается открытым сообществом разработчиков и автором MySQL, а разработкой MySQL занимается компания Oracle. Следовательно, MariaDB чаще обновляется, раньше получает новые возможности и заплатки проблем с безопасностью.

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

Содержание статьи:

Установка MariaDB в Ubuntu 18.04

MariaDB есть в официальных репозиториях Ubuntu, и если вам нужна стабильная версия, то лучше устанавливать её именно оттуда. Для этого выполните:

sudo apt install mariadb-server mariadb-client

Сейчас в репозиториях Ubuntu 18.04 поставляется версия 10.1. Но уже давно состоялся релиз MariaDB 10.3, и готовится к выпуску 10.4. Если вы хотите установить эти версии, вам придётся использовать репозиторий разработчиков.

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

Затем прокрутите страницу вниз и скопируйте  команды добавления репозитория:

Для Ubuntu 18.04 надо выполнить три команды:

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirror.mephi.ru/mariadb/repo/10.3/ubuntu bionic main'

 

Затем обновим списки репозиториев и установим MariaDB Ubuntu нужной версии:

sudo apt install mariadb-server mariadb-client

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

После того, как установка будет завершена, проверяем запущена ли база данных:

sudo systemctl status mariadb

Теперь можно переходить к настройке MariaDB.

Настройка MariaDB в Ubuntu

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

sudo mysql_secure_installation

Сначала надо ввести пароль суперпользователя, который вы задали при установке MariaDB:

Затем можно поменять пароль, но если он вас устраивает, нажмите n.

Во всех следующих пунктах нужно нажимать Y. Утилита отключит анонимный вход, запретит удалённую авторизацию для суперпользователя, удалит временные таблицы и перезагрузит настройки полномочий:

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

mysql -u root -p

Для создания базы данных с именем test_database выполните:

CREATE DATABASE test_database;

Затем необходимо создать пользователя и дать ему все права на эту базу данных, чтобы ваше приложение могло с ней работать:

CREATE USER 'test_user' IDENTIFIED BY 'password';

У нашего пользователя имя text_user и пароль password. Теперь дадим ему права на нашу базу данных:

GRANT ALL ON *.* TO 'test_user'@localhost IDENTIFIED BY 'password';

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

Как удалить MariaDB из Ubuntu

Чтобы удалить MariaDB Ubuntu, достаточно использовать команду:

sudo apt purge mariadb-server mariadb-client

Затем очистите систему от пакетов, которые установились автоматически:

sudo apt autoremove

И можно удалить файлы базы данных, которые находятся по адресу /var/lib/mysql/

sudo rm -Rf /var/lib/mysql

Выводы

В этой статье мы разобрали, как выполняется установка MariaDB Ubuntu 18.04. Как видите, процесс практически не отличается от установки MySQL, только здесь не нужно задавать пароль. Если вам нужна база данных с поддержкой всех самых современных возможностей и нововведений, обязательно следует выбрать MariaDB. А что вы предпочитаете, MariaDB или MySQL?


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Оцените статью:

Загрузка…

Debian 8 — Установите MariaDB 10.1

Вы можете запустить приведенный ниже сценарий, чтобы установить MariaDB 10.1.x в Debian и получать обновления.

  sudo apt-get install software-properties-common -y

# Добавьте ключ, чтобы мы доверяли пакетам от MariaDB
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db

# Добавить репо
sudo add-apt-repository 'deb [arch = amd64, i386] http: // lon1.mirrors.digitalocean.com/mariadb/repo/10.1/debian jessie main '

# Установить базу данных
sudo apt-get update
sudo apt-get install mariadb-server -y
  

К сожалению, в репозиториях Debian нет пакета Maraia DB 10.1, но вы можете установить mariadb 10.0 с помощью:

  mariadb-сервер-10.0
  

По умолчанию My.cnf

Если он пригодится, это конфигурация my.cnf по умолчанию, в которой 10.1. установка в комплекте:

  # Файл конфигурации сервера базы данных MariaDB.#
# Вы можете скопировать этот файл в один из:
# - "/etc/mysql/my.cnf" для установки глобальных параметров,
# - "~ / .my.cnf" для установки пользовательских опций.
#
# Можно использовать все длинные опции, которые поддерживает программа.
# Запустить программу с помощью --help, чтобы получить список доступных опций, и с помощью
# --print-defaults, чтобы увидеть, что он действительно понимает и использует.
#
# Пояснения см.
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# Это будет передано всем клиентам mysql
# Сообщалось, что пароли должны быть заключены в галочки / кавычки
# особенно если они содержат символы "#"...
# Не забудьте отредактировать /etc/mysql/debian.cnf при изменении местоположения сокета.
[клиент]
порт = 3306
сокет = /var/run/mysqld/mysqld.sock

# Вот записи для некоторых конкретных программ
# Следующие значения предполагают, что у вас как минимум 32M RAM

# Это формально было известно как [safe_mysqld]. Обе версии в настоящее время проанализированы.
[mysqld_safe]
сокет = /var/run/mysqld/mysqld.sock
хороший = 0

[mysqld]
#
# * Основные настройки
#
пользователь = MySQL
pid-файл = /var/run/mysqld/mysqld.pid
сокет = / var / run / mysqld / mysqld.носок
порт = 3306
basedir = / usr
datadir = / вар / библиотека / mysql
tmpdir = / tmp
lc_messages_dir = / usr / доля / mysql
lc_messages = en_US
пропустить внешнюю блокировку
#
# Вместо пропуска сети по умолчанию теперь слушать только на
# localhost, который более совместим и не менее безопасен.
привязка-адрес = 127.0.0.1
#
# * Тонкая настройка
#
max_connections = 100
connect_timeout = 5
wait_timeout = 600
max_allowed_packet = 16 млн
thread_cache_size = 128
sort_buffer_size = 4M
bulk_insert_buffer_size = 16 млн
tmp_table_size = 32M
max_heap_table_size = 32 млн
#
# * MyISAM
#
# Это заменяет сценарий запуска и при необходимости проверяет таблицы MyISAM
# при первом прикосновении.В случае ошибки сделайте копию и попробуйте исправить.
myisam_recover = РЕЗЕРВНОЕ КОПИРОВАНИЕ
key_buffer_size = 128 МБ
# open-files-limit = 2000
table_open_cache = 400
myisam_sort_buffer_size = 512 МБ
concurrent_insert = 2
read_buffer_size = 2 млн
read_rnd_buffer_size = 1 млн
#
# * Конфигурация кэша запросов
#
# Кэшировать только крошечные наборы результатов, поэтому мы можем разместить больше в кеше запросов.
query_cache_limit = 128 КБ
query_cache_size = 64 МБ
# для более интенсивных настроек записи, установите DEMAND или OFF
#query_cache_type = СПРОС
#
# * Журнал и репликация
#
# Оба местоположения вращаются cronjob.# Помните, что этот тип журнала снижает производительность.
# Начиная с версии 5.1, вы можете включить журнал во время выполнения!
#general_log_file = /var/log/mysql/mysql.log
#general_log = 1
#
# Журнал ошибок идет в системный журнал из-за /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
#
# мы хотим знать о сетевых ошибках и т. д.
log_warnings = 2
#
# Включите журнал медленных запросов, чтобы видеть запросы с особенно большой продолжительностью
#slow_query_log [= {0 | 1}]
slow_query_log_file = /var/log/mysql/mariadb-slow.log
long_query_time = 10
#log_slow_rate_limit = 1000
log_slow_verbosity = query_plan

# log-query-not-using-indexes
#log_slow_admin_statements
#
# Следующее можно использовать как для простого воспроизведения журналов резервного копирования, так и для репликации.# примечание: если вы настраиваете подчиненное устройство репликации, см. README.Debian о
# другие настройки, возможно, вам придется изменить.
# server-id = 1
#report_host = master1
#auto_increment_increment = 2
#auto_increment_offset = 1
log_bin = / var / журнал / mysql / mariadb-bin
log_bin_index = /var/log/mysql/mariadb-bin.index
# не потрясающе по производительности, но безопаснее
#sync_binlog = 1
expire_logs_days = 10
max_binlog_size = 100 МБ
# рабы
#relay_log = / var / log / mysql / relay-bin
#relay_log_index = / var / log / mysql / relay-bin.индекс
#relay_log_info_file = /var/log/mysql/relay-bin.info
#log_slave_updates
#read_only
#
# Если приложения поддерживают это, этот более строгий sql_mode предотвращает некоторые
# ошибки, например вставка недопустимых дат и т. д.
#sql_mode = NO_ENGINE_SUBSTITUTION, ТРАДИЦИОННЫЙ
#
# * InnoDB
#
# InnoDB включен по умолчанию с файлом данных размером 10 МБ в / var / lib / mysql /.
# Прочтите руководство, чтобы узнать о других опциях, связанных с InnoDB. Здесь очень много!
default_storage_engine = InnoDB
# нельзя просто изменить размер файла журнала, требуется специальная процедура
#innodb_log_file_size = 50 млн
innodb_buffer_pool_size = 256 МБ
innodb_log_buffer_size = 8 млн
innodb_file_per_table = 1
innodb_open_files = 400
innodb_io_capacity = 400
innodb_flush_method = O_DIRECT
#
# * Функции безопасности
#
# Также прочтите руководство, если хотите chroot!
# chroot = / var / lib / mysql /
#
# Для генерации сертификатов SSL я рекомендую графический интерфейс OpenSSL "tinyca".#
# ssl-ca = / etc / mysql / cacert.pem
# ssl-cert = / etc / mysql / server-cert.pem
# ssl-ключ = / etc / mysql / server-key.pem

#
# * Настройки, связанные с Galera
#
[Галера]
# Обязательные настройки
# wsrep_on = ON
# wsrep_provider =
# wsrep_cluster_address =
# binlog_format = row
# default_storage_engine = InnoDB
# innodb_autoinc_lock_mode = 2
# привязка-адрес = 0.0.0.0
#
# Необязательная настройка
# wsrep_slave_threads = 1
# innodb_flush_log_at_trx_commit = 0

[mysqldump]
быстрый
цитаты
max_allowed_packet = 16 млн

[MySQL]
# no-auto-rehash # более быстрый запуск mysql, но без завершения табуляции

[исамчк]
key_buffer = 16M

#
# * ВАЖНО: дополнительные настройки, которые могут отменять настройки из этого файла!
# Файлы должны заканчиваться на '.cnf ', иначе они будут проигнорированы.
#
! includedir /etc/mysql/conf.d/
  

Ссылки

Последнее обновление: 26 мая 2019 г.
Первая публикация: 16 августа 2018 г.

.

Установка MariaDB Galera Cluster в Debian / Ubuntu

A MariaDB Howto, автор: Эркан Янар.

Это практическое руководство по установке кластера MariaDB Galera в Debian / Ubuntu. Поскольку у многих людей были проблемы с установкой MariaDB Galera Cluster, elenst из #maria на freenode заставили меня написать это Howto 🙂

Установка MariaDB Galera Cluster на самом деле довольно проста и в конечном итоге довольно скучна. Это руководство написано (и протестировано) для Debian 7.1 (Wheezy) и Ubuntu 12.04 (Precise).

Что нам нужно

В нашей настройке мы предполагаем 3 узла (node01, node02, node03) с одним интерфейсом каждый. Мы предполагаем следующие IP-адреса: 172.16.8.5, 172.16.8.6 и 172.16.8.4. Нам нужно установить три пакета на всех узлах:

  • rsync
  • галерея
  • mariadb-galera-сервер

Поскольку Galera не поставляется с репозиториями распространения, воспользуйтесь конфигуратором репозитория и следуйте инструкциям по включению репозитория, подходящего для вашей системы.Не забудьте выбрать «5.5» на шаге 3 (выберите версию). Сделав это, вы можете перейти непосредственно к Install Packages

Добавление репозитория

В качестве альтернативы вы можете просто выполнить следующие шаги.

Debian Wheezy

 apt-get установить свойства программного обеспечения python
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
add-apt-repository 'deb http://mirror3.layerjet.com/mariadb/repo/5.5/debian wheezy main'
apt-get обновление 

Ubuntu Precise

 apt-get установить свойства программного обеспечения python
apt-key adv --recv-keys --keyserver сервер ключей.ubuntu.com 0xcbcb082a1bb943db
add-apt-repository 'deb http://mirror3.layerjet.com/mariadb/repo/5.5/ubuntu точный основной'
apt-get обновление 

Да, они почти идентичны. 🙂

Установочные пакеты

(Еще один ярлык для нетерпеливых)

 DEBIAN_FRONTEND = неинтерактивный apt-get install -y rsync galera mariadb-galera-server 

После установки пакетов у вас будет запущенный сервер MariaDB на каждом узле. Но ни один из них не будет настроен для работы в качестве узла в кластере MariaDB Galera.

Настройка Galera

Итак, теперь нам нужно выполнить некоторую настройку. Есть часть конфигурации MariaDB и одна часть для настройки Galera (начиная с wsrep_ ). Поскольку в этом практическом руководстве мы выполняем самую простую и простую установку, достаточно просто изменить IP-адреса (помните: 172.16.8.5, 172.16.8.6, 172.16.8.4) на свои IP-адреса.
Это необходимо для определения переменной wsrep_cluster_address (список узлов, с которых запускаются контакты mysqld для присоединения к кластеру).

Следующий файл конфигурации должен быть распределен по всем узлам. Мы используем отдельный файл конфигурации /etc/mysql/conf.d/galera.cnf со следующими настройками:

 [mysqld]
#mysql settings
binlog_format = СТРОКА
по умолчанию-хранилище-двигатель = innodb
innodb_autoinc_lock_mode = 2
query_cache_size = 0
query_cache_type = 0
привязка-адрес = 0.0.0.0
#galera settings
wsrep_provider = / usr / lib / galera / libgalera_smm.so
wsrep_cluster_name = "my_wsrep_cluster"
wsrep_cluster_address = "gcomm: // 172.16.8.5 172.16.8.6 172.16.8.4 "
wsrep_sst_method = rsync 

FYI: общая библиотека для wsrep_provider предоставляется установленным пакетом galera.

Мы также можем изменить имя кластера, изменив значение wserp_cluster_name в соответствии с нашим стилем. Этот параметр также работает как общий секрет для управления доступом к кластеру. С wsrep_cluster_address вы видите IP-адреса нашей установки. wsrep_sst_method сообщает, какой метод использовать для синхронизации узлов.Хотя доступны также mysqldump и xtrabackup , я предпочитаю rsync, потому что его легко настроить (т.е. для него не нужны никакие учетные данные на узлах). Если вы планируете использовать метод xtrabackup, не забудьте установить xtrabackup.

Запуск кластера Galera

Сначала мы останавливаем mysqld на всех узлах.

 node01 # остановка службы mysql
node02 # остановка службы mysql
node03 # служба mysql stop 

Файл конфигурации ( galera.cnf ) уже распределен по всем узлам, поэтому теперь мы запускаем первый mysqld. Этот узел инициализирует / запускает кластер (создает GTID).

 node01 # запуск службы mysql --wsrep-new-cluster 

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

 node01 # mysql -u root -e 'ВЫБЕРИТЕ VARIABLE_VALUE как "размер кластера" FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = "wsrep_cluster_size"' 
 + -------------- +
| размер кластера |
+ -------------- +
| 1 |
+ -------------- + 

Если вы видите выше, отлично! Этого мы и ожидали.Теперь, когда кластер уже существует, мы позволяем следующим узлам просто запускаться и присоединяться к кластеру.

 node2 # запуск службы mysql
[ok] Запуск сервера базы данных MariaDB: mysqld. . . . . . . . . ..
[информация] Проверка на наличие поврежденных, не закрытых чисто и обновление таблиц ..
node01: / home / debian # ОШИБКА 1045 (28000): доступ запрещен для пользователя debian-sys-maint @ localhost (с использованием пароля: ДА) 

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

Давайте сделаем паузу и быстро проверим.Поскольку мы запускаем кластер, не важно, выполняем ли мы следующее на node01 или node02 .

 mysql -u root -e 'SELECT VARIABLE_VALUE as "размер кластера" FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = "wsrep_cluster_size"' 
 + -------------- +
| размер кластера |
+ -------------- +
| 2 |
+ -------------- + 

Если вы видите выше, очень приятно! Теперь приступим к третьему узлу:

.

 node3 # запуск службы mysql
[ok] Запуск сервера базы данных MariaDB: mysqld.. . . . . . . . ..
[информация] Проверка на наличие поврежденных, не закрытых чисто и обновление таблиц ..
node03: / home / debian # ОШИБКА 1045 (28000): доступ запрещен для пользователя debian-sys-maint @ localhost (с использованием пароля: ДА)

node03 # mysql -u root -e 'ВЫБЕРИТЕ VARIABLE_VALUE как "размер кластера" FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = "wsrep_cluster_size"' 
 + -------------- +
| размер кластера |
+ -------------- +
| 3 |
+ -------------- + 

Хорошо, мы закончили. У нас работает MariaDB Galera Cluster o /

Развлекается со сценариями инициализации Debian / Ubuntu

Но мы должны исправить некоторые вещи из-за некоторых странностей Debian / Ubuntu.

Помните ошибку, которую мы видели при запуске node02 и node03? Что случилось? Что ж, Debian / Ubuntu использует специального пользователя ( 'debian-sys-maint' @ 'localhost' ) в своем сценарии инициализации, и учетные данные для этого пользователя хранятся в /etc/mysql/debian.cnf . Этот пользователь используется для выполнения некоторых проверок при запуске MySQL. В любом случае чеки, как мне кажется, не относятся к сценарию обслуживания.

Мы могли бы просто проигнорировать это, но пользователь user также используется для завершения mysqld. Это также не требуется, так как SIGTERM достаточно для завершения работы mysqld: /

Поскольку мы копировали данные из node01 на все остальные узлы, учетные данные в / etc / mysql / debian.cnf не соответствует node02 и node03 . Таким образом, мы не сможем завершить работу mysqld ни на одном из этих узлов.

 node02 # остановка службы mysql
[FAIL] Остановка сервера базы данных MariaDB: сбой mysqld! 

Итак, мы должны исправить это, скопировав /etc/mysql/debian.cnf с первого узла ( node01 ) на все остальные узлы. Таким образом, файлы данных и файлы конфигурации снова содержат те же данные.

После этого мы можем выключить демон:

 node02 # остановка службы mysql
[ok] Остановка сервера базы данных MariaDB: mysqld.

Отлично.

Итак, если бы у нас был правильный сценарий инициализации, Howto было бы еще короче 😉

Следуй за ошибкой 🙂

Наслаждайтесь своим кластером MariaDB Galera и получайте удовольствие!

— Эркан Янар

Спасибо teuto.net за предоставление мне клиента OpenStack, чтобы я мог запустить тесты для этого Howto.

.

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

ЭТОТ ДОКУМЕНТ ТАКЖЕ ДОСТУПЕН ДЛЯ

MariaDB — это самая популярная система управления базами данных с открытым исходным кодом. Он разработан MariaDB Corporation Ab, оригинальными разработчиками MySQL.

MariaDB совместима с системой управления базами данных MySQL и считается полноценной заменой.

В этом посте мы увидим, как установить MariaDB на Debian 10.

Установить MariaDB на Debian 10

Вы можете получить пакеты MariaDB для Debian 10 двумя способами.

  1. Зеркало MariaDB (MariaDB v10.4)
  2. Репозиторий Debian (MariaDB v10.3)

Установите MariaDB из официального зеркала MariaDB

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

Обновите репозиторий и установите необходимые пакеты.

 sudo apt update

sudo apt install -y свойства-программного обеспечения-common dirmngr
 

Добавьте ключ подписи в вашу систему.

 sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8 

Вывод:

 Выполнение: /tmp/apt-key-gpghome.NmxC6MeZQz/gpg.1.sh --recv -keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
gpg: key F1656F24C74CD1D8: 6 подписей не проверены из-за отсутствия ключей
gpg: key F1656F24C74CD1D8: открытый ключ «Ключ подписи MariaDB » импортирован
gpg: Общее количество обработанных: 1
gpg: импортировано: 1
 

Добавьте репозиторий MariaDB с помощью команды add-apt-repository.

 sudo add-apt-repository 'deb [arch = amd64] http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.4/debian buster main' 

Установите сервер MariaDB, используя следующую команду.

 sudo apt update

sudo apt install -y mariadb-server mariadb-client 

Запустите команду sudo mysql_secure_installation , чтобы выполнить начальную настройку для безопасной установки MariaDB.

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

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

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

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

Ваша учетная запись root уже защищена, поэтому вы можете спокойно ответить «n».

Переключиться на аутентификацию unix_socket [Y / n]  N   << Отключение входа в Unix Socket и включение пароля Login 
 ... пропуская.

Ваша учетная запись root уже защищена, поэтому вы можете спокойно ответить «n».

Изменить пароль root? [Y / n]  Y   << Изменить пароль root для MariaDB 
Новый пароль:  << Введите пароль 
Повторно введите новый пароль:  << Повторно введите пароль 
Пароль успешно обновлен!
Перезагрузка таблиц привилегий ..
 ... Успех!


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

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

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

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

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

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

Повторная загрузка таблиц привилегий гарантирует, что все изменения, сделанные на данный момент
вступит в силу немедленно.Обновить таблицы привилегий сейчас? [Y / n]  Y   << Право на перезагрузку 
 ... Успех!

Убираться...

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

Спасибо за использование MariaDB!
 

Установить MariaDB из репозитория Debian

Установить MariaDB из репозитория Debian несложно, но она может иметь устаревшую версию MariaDB.

 sudo apt update

sudo apt install -y mariadb-server mariadb-client 

Используйте mysql_secure_installation для первоначальной настройки сервера MariaDB.

 sudo mysql_secure_installation 

Вывод:

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

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

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

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

Установить пароль root? [Y / n]  Y   << Изменить пароль root для MariaDB 
Новый пароль:  << Введите пароль 
Повторно введите новый пароль:  << Повторно введите пароль 
Пароль успешно обновлен!
Перезагрузка таблиц привилегий ..
 ... Успех!


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

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

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

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

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

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

Повторная загрузка таблиц привилегий гарантирует, что все изменения, сделанные на данный момент
вступит в силу немедленно.Обновить таблицы привилегий сейчас? [Y / n]  Y   << Право на перезагрузку 
 ... Успех!

Убираться...

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

Спасибо за использование MariaDB!
 

Если MariaDB установлена ​​из базового репозитория Debian, пользователь root MariaDB может войти в систему только из корневого входа Unix или с помощью sudo (root).

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

Войдите в базу данных MariaDB под пользователем root.

 $ sudo mysql -u root -p

  ИЛИ 

# mysql -u root -p 

Пароль не требуется

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

 используйте mysql;

обновить пользовательский набор plugin = 'mysql_native_password', где user = 'root';

сбросить привилегии;

уволиться; 

Теперь вы можете войти в систему как MariaDB root из любой учетной записи Unix или phpMyAdmin с паролем.

Доступ к MariaDB

Войдите на сервер MariaDB.

 mysql -u root -p 

Требуется пароль

Вывод:

Установите MariaDB на Debian 10 — войдите в MariaDB

Заключение

Вот и все. Вы узнали, как установить MariaDB на Debian 10. Кроме того, вы можете установить phpMyAdmin для управления MariaDB через веб-интерфейс.

.

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

MariaDB — это форк самой популярной системы управления базами данных MySQL. Он разработан MariaDB Corporation Ab во главе с оригинальными разработчиками MySQL.

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

Установите MariaDB на Debian 9

Вы можете получить пакеты MariaDB для Debian 9 двумя способами.

  1. Официальное зеркало MariaDB (v10.4)
  2. Репозиторий Debian (v10.1)

1. Установите MariaDB из официального зеркала MariaDB

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

Добавьте ключ подписи в вашу систему.

 sudo apt-get install -y свойства-программного обеспечения-common dirmngr

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8 

Вывод:

 Выполнение: / tmp / apt-key-gpghome.PWRr8ysP7X / gpg.1.sh --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
gpg: key F1656F24C74CD1D8: 6 подписей не проверены из-за отсутствия ключей
gpg: key F1656F24C74CD1D8: открытый ключ «Ключ подписи MariaDB » импортирован
gpg: Общее количество обработанных: 1
gpg: import: 1 

Добавьте репозиторий MariaDB с помощью команды add-apt-repository.

 sudo add-apt-repository 'deb [arch = amd64, i386, ppc64el] http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.4 / debian stretch main '

Установите сервер MariaDB, используя следующую команду.

 sudo apt-get update

sudo apt-get install -y mariadb-server mariadb-client 

Запустите команду sudo mysql_secure_installation , чтобы выполнить начальную настройку для безопасной установки MariaDB.

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

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

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

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

Ваша учетная запись root уже защищена, поэтому вы можете спокойно ответить «n».

Переключиться на аутентификацию unix_socket [Y / n]  N   << Отключение входа в Unix Socket и включение пароля Login 
 ... пропуская.

Ваша учетная запись root уже защищена, поэтому вы можете спокойно ответить «n».

Изменить пароль root? [Y / n]  Y   << Изменить пароль root для MariaDB 
Новый пароль:  << Введите пароль 
Повторно введите новый пароль:  << Повторно введите пароль 
Пароль успешно обновлен!
Перезагрузка таблиц привилегий ..
 ... Успех!
 

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

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

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

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

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

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

Повторная загрузка таблиц привилегий гарантирует, что все изменения, сделанные на данный момент
вступит в силу немедленно.Обновить таблицы привилегий сейчас? [Y / n]  Y   << Право на перезагрузку 
 ... Успех!

Убираться...

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

Спасибо за использование MariaDB! 

2. Установите MariaDB из репозитория Debian

Установка MariaDB из базового репозитория Debian — простой способ, но это может быть немного старая версия MariaDB.

 sudo apt-get update

sudo apt-get install -y mariadb-server mariadb-client 

Служба сервера MariaDB должна быть запущена и запущена.

Используйте mysql_secure_installation, чтобы выполнить первоначальную настройку сервера MariaDB.

 sudo mysql_secure_installation 

Вывод:

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

Чтобы войти в MariaDB и защитить его, нам понадобится текущий
пароль для пользователя root. Если вы только что установили MariaDB, и
вы еще не установили пароль root, пароль будет пустым,
поэтому вам нужно просто нажать здесь.Введите текущий пароль для root (введите его, если нет):  << Без пароля - нажмите Enter 
ОК, пароль успешно использован, идем дальше ...

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

Установить пароль root? [Y / n]  Y   << Изменить пароль root для MariaDB 
Новый пароль:  << Введите пароль root для MariaDB 
Повторно введите новый пароль:  << Повторно введите пароль root для MariaDB 
Пароль успешно обновлен!
Перезагрузка таблиц привилегий..
 ... Успех!


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

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

Обычно пользователю root разрешается подключаться только с «localhost». Эта
гарантирует, что кто-то не сможет угадать пароль root из сети.Запретить удаленный вход root? [Y / n]  Y   << Запретить удаленный вход в систему root 
 ... Успех!

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

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

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

Обновить таблицы привилегий сейчас? [Да / нет]  Да   << Обновить таблицы привилегий 
 ... Успех!

Убираться...

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

Спасибо за использование MariaDB! 

Если MariaDB установлена ​​из базового репозитория Debian, пользователь root MariaDB может войти в систему только из корневого входа Unix или с помощью sudo (root) из-за аутентификации сокета Unix.

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

Войдите в систему как пользователь root MariaDB.

 $ sudo mysql -u root -p 

OR

 # mysql -u root -p 

Пароль не требуется

Выполнять указанные ниже запросы в базе данных MariaDB.

 используйте mysql;

обновить пользовательский набор plugin = 'mysql_native_password', где user = 'root';

сбросить привилегии;

уволиться; 

Теперь вы можете войти в систему как root на MariaDB из любой учетной записи пользователя Linux без префикса sudo.

Доступ к MariaDB

Используйте следующую команду для входа на сервер MariaDB.

 mysql -u root -p 

Требуется пароль

Вывод:

Установить MariaDB на Debian 9 — MariaDB Shell

Управление службой MariaDB

В случае, если вы хотите запустить / остановить MariaDB, вы можете использовать следующие команды.

 sudo systemctl start mariadb

sudo systemctl stop mariadb 

Проверьте, запущена ли MariaDB или нет.

 sudo systemctl status mariadb 

Заключение

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

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *