img

Установка MySQL Server на CentOS 7

Всем привет! Сегодня в статье рассмотрим установку MySQL Server на CentOS 7. MySQL – популярная реляционная СУБД с открытым кодом, и, её популярность означает огромное количество информации в интернете и большое количество хорошо документированных библиотек. MySQL поддерживает множество стандартных функций, присущих СУБД – репликацию, триггеры и прочие.

В большинстве дистрибутивов по умолчанию присутствуют репозитории, в которых есть нужный нам пакет MySQL – однако, на примере CentOS 7 Minimal я хотел бы показать процесс добавления официального YUM репозитория от Oracle, в котором всегда доступна последняя версия.


Процесс установки

Предварительно нам необходимо установить wget чтобы скачивать файлы – для этого выполните команду yum install wget.

Далее, для начала процесса установки необходимо зайти на сайт MySQL по следующему линку: http://dev.mysql.com/downloads/repo/yum/ , выбрать необходимый дистрибутив (в нашем случае - Red Hat Enterprise Linux 7 / Oracle Linux 7) и нажать Download. Ссылка для скачивания может быть получена без регистрации, для этого нужно найти слова «No thanks, just start my download»

Загрузка дистрибутива MySQL Server на CentOS 7

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

wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 

Без каких-либо модификаторов команда wget скачает файл в каталог, в котором вы находитесь в данный момент, далее необходимо выполнить команду rpm –Uvh mysql57-community-release-el7-11.noarch.rpm - для более простого ввода имени пакета воспользуйтесь табуляцией (нажать Tab).

Теперь подключен официальный репозиторий Oracle, настала очередь установки непосредственно самого MySQL сервера:

yum –y install mysql-community-server 

Процесс скачивания и установки пакета займёт какое-то время.

Результат установки MySQL Server на CentOS 7

Далее необходимо разрешить автозапуск демона MySQL при загрузке:

/usr/bin/systemctl enable mysqld 

И запустить сам MySQL сервер:

/usr/bin/systemctl start mysqld 

Настройка безопасности

После старта сервера, необходимо настроить политики безопасности – для этого служит скрипт mysql_secure_installation - но предварительно нам понадобится случайно сгенерированный пароль для root – его можно выяснить с помощью команды grep 'temporary password' /var/log/mysqld.log. Пример на скриншоте ниже:

 Просмотр автоматически сгенерированного пароля MySQL Linux

Далее нужно ввести команду /usr/bin/mysql_secure_installation и вам будет предложено ввести данный пароль на рут, поменять его на нечто вроде E+FW4tz8$?/7$dCm и ответить на несколько вопросов:

  • Set root password? [Y/n] Y - установка пароля на root;
  • 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 - перезагрузка привилегированных таблиц;

Очень советую пароль придумать максимально сложный – кроме того, по дефолту, у вас не получится поставить простой пароль.


Создание тестовой базы данных и манипуляции с пользователями

Когда вам понадобится дать доступ какому-нибудь приложению доступ к вашей БД, ни в коем случае нельзя этого делать от пользователя root – для каждого приложения должен быть создан свой пользователь. Для создания, сначала необходимо зайти в MySQL от имени администратора с помощью команды mysql -u root -p mysql . Далее я приведу пример создания БД testdb и открытия полного доступа к этой БД для пользователя testuser (имя пользователя и пароль соответственно необходимо скорректировать относительно вашей непосредственной задачи):

create database testdb;
grant all on appdb.* to 'testuser'@'localhost' identified by 'password';
quit

Для проверки доступа нужно использовать команду mysql -u testuser -p -h localhost testdb , а для выводы всех имеющихся БД – команду SHOW DATABASES;

Рассмотрим пример создания пользователя для MySQL и просмотра списка всех пользователей. MySQL содержит информацию о пользователях в своей собственной базе данных под названием mysql, внутри которой информация о пользователях находится в виде таблицы под названием user. Если вы хотите вывести весь список пользователей, то необходимо выполнить следующую команду:

SELECT User, Host, Password FROM mysql.user; 

Это стандартный MySQL синтаксис. Давайте разберемся с ним:

  • SELECT - запрос информации;
  • User, Host, Password - конкретизация полей, из которых информация должна быть извлечена. В данном случае мы ищем информацию о пользователе, хостнейме и зашифрованном пароле;
  • FROM mysql.user - запрашиваем информацию мы из БД mysql и таблицы user;
  • ; - точка с запятой означают конец команды, в MySQL все запросы должны кончаться точкой с запятой;
Ссылка
скопирована
Системное администрирование
Скидка 10%
Администратор Linux
Стань Linux администратором и сделай весомый шаг в сторону карьеры в DevOps. Самые важные знания от сертифицированного и практикующего тренера с 20 летним стажем
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
  Прошло уже много времени с тех пор, как появился первый веб-сервер. На сегодняшний день есть довольно много разных интересных
img
В эпоху, когда многие процессы автоматизированы, люди постоянно ищут способы, как эффективно выполнять задачи. А почему бы и нет
img
Введение В серверной стойке (серверном шкафу) хранится и размещается информационно-техническое оборудование, например, выделенны
img
  Всплески трафика могут стать как проблемой для вашей инфраструктуры хостинга, так и потрясающей возможностью для развития.  На
img
Подробное руководство, предназначенное для понимания и оптимизации различных типов соединений в SQL, которое повысит вашу произв
img
  Введение Цель резервного копирования и репликации – предотвратить критическую потерю данных в результате непредвиденных событи
Комментарии
ЛЕТНИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59