Установка mariadb centos 7

Установка mariadb centos 7

В этой статье я рассмотрю особенности установки, базовой настройки и оптимизации сервера баз данных MariaDB. Передо мной стояла задача установитьc MariaDB и провести базовую настройку на Linux CentOS 7. Так как это актуальный вопрос, я надеюсь статья будет вам полезна. В конце статьи я приведу несколько примеров конфигурационных файлов, а вы с помощью их сможете подобрать параметры под свой сервер.

Установка MariaDB в CentOS

С недавнего времени MariaDB входит в стандартный для CentOS 7 репозиторий base, но в данном репозитории содержится версия 5.5. Эта версия уже не актуальна, в ней есть проблемы с производительностью и нет полнотекстового поиска в InnoDB. На момент написания статьи актуальная версия MariaDB — 10.4, поэтому подключившись к нашему Linux серверу по ssh мы для начала подключим репозиторий разработчика mariadb.org и после запустим установку сервера БД.

Я привык работать с файлами через редактор nano, устанавливаем его через yum:

yum install nano -y

И открываем файл репозитория для редактирования:

И добавляем туда следующую информацию:

Сохраняем файл и запускаем установку:

yum install MariaDB-server MariaDB-client -y

Установка окончена, теперь нужно добавить сервис в автозагрузку и запустить:

systemctl start mariadb
systemctl enable mariadb

Проверяем статус сервиса:

systemctl status mariadb

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

Защита и безопасность MariaDB

После того, как мы установили и запустили MariaDB, можем перейти к настройкам безопасности. Запускаем встроенный сценарий:

Данный сценарий подробно описывает каждый шаг и подробно останавливаться на каждом из них мы не будем. Сначала он запросит root-пароль, но после начальной установки его нет и поэтому мы нажимаем enter и на следующем этапе задаем сложный пароль (от этого зависит насколько безопасным, будет ваш сервер). После можно до конца выполнения сценария нажимать «enter», в процессе будут удалены анонимные пользователи, удаленный root-логин, а также тестовые таблицы и будут перезагружены привилегии.

Для подключения к mariadb серверу нужно создать правила в Linux файерволе с помощью iptables:

iptables -I INPUT -p tcp —dport 3306 -m state —state NEW,ESTABLISHED -j ACCEPT
iptables-save > /etc/sysconfig/iptables

Опционально, можно разрешить исходящие подключения к другим базам MariaDB.

iptables -I OUTPUT -p tcp —sport 3306 -m state —state ESTABLISHED -j ACCEPT

Проверка соединения с сервером MariaDB

Нужно убедиться, что установка MariaDB выполнена успешно.

Подключимся к серверу БД с помощью встроенного инструмента mysqladmin:

Команда выдаст результат:

Это означает, что установка MariaDB выполнена успешно, база данных работает и доступна.

Можно подключиться к консоли сервера maridb для интерактивного выполнения sql команд:

Настройка конфигурационного файла MariaDB

Обычно после установки MariaDB я добавляю в конфигурационный файл /etc/my.cnf свою стандартную конфигурацию, которая работает на большем количестве серверов и пока проблем с базами не возникало. Очистим файл my.cnf и добавим в него следующее:

Для общего понимания разберем основные параметры конфигурационного файла my.cnf:

  • datadir — каталог для хранения файлов БД;
  • tmpdir – каталог для хранения временных файлов;
  • skip-name-resolve – отключает DNS резолвинг;
  • max_allowed_packet — максимальный размер пакета. Если в БД используются поля blob, нужно выставлять значение не менее чем самое большое поле;
  • max_connections — максимальное количество открытых соединений, параметр определяет, сколько клиентов одновременно могут работать с сервером БД;
  • Секция # Cache parameters — все что связано с кешем запросов, устанавливать слишком высокие значения не рекомендуется, так как потребление ресурсов сервером БД станет расти;
  • Секция # InnoDB parameters — все что связано с таблицами innodb;
  • innodb_buffer_pool_size — буфер кеша для данных и индексов, если на сервере размещено 1-2 проекта, выставляйте значение равное 70-80% доступной оперативной памяти;
  • innodb_flush_method — для Linux ставим значение O_DIRECT , это отключит кеширование на уровне ОС;
  • innodb_flush_log_at_trx_commit — этот параметр влияет на скорость записи innoDB таблиц. Отнеситесь серьезно к данному параметру, выставляя значение 0, вы получаете большую производительность, но риск потери данных возрастает. Я предпочитаю устанавливать значение 2, так как большой прирост в работе сервера БД я не замечал, а безопасность превыше всего.
Читайте также:  Как в экселе ячейку разделить наискосок

Оптимизация и тюнинг производительности MariaDB

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

Установим скрипт Tuning-Primer.sh:

yum install bc net-tools -y

chmod +x tuning-primer.sh

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

Например, у меня скрипт сразу же выдал, что используемое количество коннектов гораздо меньше, чем я выставил:

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

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

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

К моему конфигурационному файлу, можно добавить секцию для активации журнала медленных запросов, это поможет вам анализировать работу ваших проектов. В секцию «mysqld» добавляем:

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

touch /var/log/mysql-error.log
touch /var/log/slow-query.log

Делаем рестарт сервиса:

systemctl restart mariadb

Просмотреть журнал медленных запросов можно открыв файл /var/log/slow-query.log или же проверять его в режиме реального времени:

tail -f /var/log/slow-query.log

Таким образом вы можете анализировать запросы к БД вашего проекта и на основе этого проводить аудит.

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

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

systemctl status mariadb -l

Основные команды для работы в консоли MariaDB

Ниже приведены основные команды cli, которые чаще всего приходится использовать администратору при работе в консоли maridb.

Для локального входа в консоль MariaDB, выполните:

Для удаленного подключения к серверу БД MariaDB:

mysql -u root -p -h 10.1.1.20

create database db1; — создать БД с именем db1

show databases; — вывести список созданных БД

use db1; — войти в БД с именем db1

show tables; — вывести таблицы БД в которой мы находимся

create user ‘test’@’localhost’ identified by ‘123456’; — создать пользователя test и задать пароль 123456(используйте более сложные пароли)

grant all privileges on database_name.* to ‘test’@’localhost’; — даем полные права пользователю test

flush privileges; — обновляем все привилегии

show processlist; — посмотреть активные соединения в БД или же можно использовать команду:

show status where `variable_name` = ‘Threads_connected’;

Так же из консоли mysql можно просматривать или изменять параметры, например:

SHOW VARIABLES LIKE ‘max_error_count’;

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

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

Читайте также:  Госуслуги моя страница вход в личный кабинет

В этой статье мы рассмотрим как выполняется установка MariaDB CentOS 7, на данный момент самая новая стабильная версия — MariaDB 10.2, именно ее мы будем устанавливать.

Установка MariaDB Centos 7

К сожалению, сейчас в репозиториях CentOS есть только версия 5.5, у нее ниже производительность и не поддерживаются такие возможности, как полнотекстовый поиск по строкам в InnoDB. Поэтому мы будем использовать официальный репозиторий разработчиков. По ссылке доступен конструктор репозитория, в котором вам нужно выбрать дистрибутив, его версию и версию программы:

Затем, внизу появится код, который нужно вставить в файл /etc/yum.repos.d/Mariadb.repo:

sudo vi /etc/yum.repos.d/Mariadb.repo

# MariaDB 10.2 CentOS repository list — created 2017-12-26 06:22 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Если установлена старая версия MariaDB — остановите ее:

sudo systemctl stop mariadb

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

sudo yum update

Если в вашей системе уже установлена более старая версия, то обновление будет выполнено автоматически. Или установка mariadb centos 7:

sudo yum install MariaDB-server MariaDB-client

Во время установки вам придется принять ключ GPG для репозитория MariaDB.

Настройка MariaDB

Установка завершена, и теперь нам предстоит заняться настройкой программы. Сначала запустите сервис:

sudo systemctl start mariadb

Если вы получаете ошибку, что файл /usr/libexec/mariadb-prepare-db-dir не существует, то выполните команду:

Это вызвано тем, что вы изменяли стандартный unit файл systemd и из-за этого он не был заменен на новый, когда мы удаляем этот файл вместо него подтягивается новый и все будет работать. Если у вас уже была раньше установлена версия MariaDB, то нужно запустить команду mysql_upgrade чтобы обновить все существующие таблицы:

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

На первом шаге вам нужно задать пароль root, по умолчанию пароль не задан:

Затем удалите анонимных пользователей:

Запретите удаленный вход для root:

Удалите тестовую базу данных и обновите таблицу привилегий:

Создание базы данных MariaDB

Последнее, что нам осталось — это создать базу данных и пользователя, которые вы сможете использовать. Для подключения к базе используйте команду mysql:

Создайте базу данных:

mysql> CREATE DATABASE first-database;
mysql> CREATE USER ‘dbuser’@’localhost’ identified by ‘password’;
mysql> GRANT ALL ON first-database.* TO dbuser’ IDENTIFIED ‘password’;
mysql> FLUSH PRIVILEGES;

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

mysql -u dbuser -p

Настройка mariadb CentOS 7 завершена.

Удаление MariaDB

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

sudo rm /etc/yum.repos.d/Mariadb.repo

Затем выполнить обновление системы:

sudo yum update

Или же вы можете полностью удалить MariaDB, но в таком случае будет удалена база данных из /var/lib/mysql, а значит вы потеряете все данные, которые там были:

sudo yum remove MariaDB-server MariaDB-client

Выводы

В этой небольшой статье мы рассмотрели как установить mariadb centos 7 из репозитория разработчиков. Вы можете получить самую новую, а значит самую быструю версию программы со всеми новыми возможностями. Если у вас остались вопросы, спрашивайте в комментариях!

Updated Jan 26, 2019

MariaDB is an open-source relational database management system, backward compatible, binary drop-in replacement of MySQL. It is developed by some of the original developers of the MySQL and by many people in the community. With the release of CentOS 7, MySQL was replaced with MariaDB as the default database system.

If you, for any reason need to install MySQL, check the How to Install MySQL on CentOS 7 tutorial. If your application does not have any specific requirements, you should stick with MariaDB, the default database system in CentOS 7.

Читайте также:  4 7 Гб у двд диска сканворд

In this tutorial we will show you how to install the latest version of MariaDB on CentOS 7 using the official MariaDB repositories.

Prerequisites #

Make sure you are logged in as a user with sudo privileges before proceeding with the tutorial.

Install MariaDB 5.5 on CentOS 7 #

The version of the MariaDB server provided in default CentOS repositories is version 5.5. This is not the latest version though, but it is quite stable.

Follow the steps below to install and secure MariaDB 5.5 on CentOS 7:

Install the MariaDB package using the yum package manager:

Press y when prompted to proceed with the installation.

Once the installation is complete, start the MariaDB service and enable it to start on boot using the following commands:

To verify that the installation was successful, check the MariaDB service status by typing:

The output should show that the service is active and running:

Run the mysql_secure_installation script which will perform several security related tasks:

You will be prompted to set up the root user password, remove anonymous user accounts, restrict root user access to the local machine, and remove the test database.

The steps are explained in detail. It is recommended to answer Y (yes) to all questions.

Install MariaDB 10.3 on CentOS 7 #

At the time of writing this article, the latest version of MariaDB is version 10.3. If you need to install any other version of MariaDB, head over to the MariaDB repositories page, and generate a repository file for a specific MariaDB version.

To install MariaDB 10.3 on CentOS 7, follow these steps:

The first step is to Enable the MariaDB repository. Create a repository file named MariaDB.repo and add the following content:

Install the MariaDB server and client packages using yum , same as other CentOS package:

Yum may prompt you to import the MariaDB GPG key:

Type y and hit Enter .

Once the installation is complete, enable MariaDB to start on boot and start the service:

To verify the installation check the MariaDB service status by typing:

The last step is to run the mysql_secure_installation script which will perform several security related tasks:

The script will prompt you to set up the root user password, remove the anonymous user, restrict root user access to the local machine, and remove the test database.

All steps are explained in detail and it is recommended to answer Y (yes) to all questions.

Connect to MariaDB from the command line #

To connect to the MariaDB server through the terminal as the root account type:

You will be prompted to enter the root password you have previously set when the mysql_secure_installation script was run.

Once you enter the password you will be presented with the MariaDB shell as shown below:

Conclusion #

In this tutorial, we’ve shown you how to install and secure MariaDB on a CentOS 7 server.

Now that your MariaDB server is up and running and you know how to connect to the MariaDB server from the command line, you might want to check the following guides:

If you prefer a web interface over command line, you can install phpMyAdmin and manage your MariaDB databases through it.

This post is a part of the Install LEMP Stack on CentOS 7 series.
Other posts in this series:

Ссылка на основную публикацию
Удаление последнего элемента списка
Введение. Основные операции О дносвязный список – структура данных, в которой каждый элемент (узел) хранит информацию, а также ссылку на...
Телефон самсунг с хорошей камерой недорогой
Если вы ищете лучший телефон Samsung, тогда рейтинг поможет разобраться в их различиях. Посмотрите какой смартфон лучшие купить из всех...
Телефон перестал заряжаться быстрой зарядкой
Наверняка многие сталкивались с тем, что смартфон ни с того ни с сего перестаёт заряжаться. Другая распространённая беда — слишком...
Удаление дубликатов фотографий на русском бесплатно
Здравствуйте Уважаемый Друг. У каждого из нас на компьютере хранится большое количество различных фотографий изображений и тому подобных картинок. Парой...
Adblock detector