—просите про Asterisk в Telegram - чате

¬сем привет! —егодн€ в статье рассмотрим установку 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 все запросы должны кончатьс€ точкой с зап€той;

ѕолезна ли ¬ам эта стать€?

–аз в неделю мы отправл€ем дайджест с самыми интересными стать€ми.

P.S. ≈сли укажите свою дату рождени€, то мы об€зательно ¬ас поздравим и подарим небольшой подарок :)

Ќажима€ на кнопку "ѕодписатьс€", вы даете согласие на обработку своих персональных данных