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
На момент написания этой статьи последняя версия MariaDB, доступная в основной части Debian, – это версия 10.3.
Для установки MariaDB в Debian 10 выполните следующие действия как пользователь root или пользователь с привилегиями sudo:
- Начните с обновления индекса пакетов:
sudo apt update
- Установите серверные и клиентские пакеты MariaDB, выполнив следующую команду:
sudo apt install mariadb-server
- Сервис 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
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 двумя способами.
- Зеркало MariaDB (MariaDB v10.4)
- Репозиторий 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 двумя способами.
- Официальное зеркало MariaDB (v10.4)
- Репозиторий 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 через веб-браузер.
.