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
На базе нашего опыта и статей мы сделалем еще один полезный документ: руководство администратора по Linux/Unix системам. В докум
img
Удаленный доступ к системам давно стал необходимостью, и сейчас с трудом можно представить, что было бы, если бы мы не могли упр
img
Все мы любим компьютеры. Они могут делать столько удивительных вещей. За пару десятилетий компьютеры произвели самую настоящую р
img
Архитектуры х64 и х86 являются одними из наиболее широко используемых типов архитектур системы команд (АСК или ISA – Instr
img
Gzip – один из самых популярных алгоритмов сжатия, который позволяет сократить размер файла, но при этом сохранить исходный файл
img
Интернет может быть опасным. Спросите любого хорошего IT-специалиста, и он вам обязательно расскажет о важности обеспечения безо
Комментарии
ЗИМНИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59