Поиск по сайту:

Как установить MySQL на CentOS 7


Введение

Стек LEMP (Linux, Nginx, MySQL/MariaDB, PHP/Python/Perl). Он использует реляционную базу данных и SQL (язык структурированных запросов) для управления своими данными.

CentOS 7 предпочитает MariaDB, ответвление MySQL, управляемое первоначальными разработчиками MySQL и разработанное как замена MySQL. Если вы запустите yum install mysql в CentOS 7, будет установлена MariaDB, а не MySQL. Если вам интересно узнать о MySQL и MariaDB, прочтите руководство «Как установить MariaDB на Centos 7».

В этом руководстве объясняется, как установить MySQL версии 8 на сервер CentOS 7.

Предпосылки

Чтобы следовать этому руководству, вам понадобятся:

  • CentOS 7 с пользователем без полномочий root с привилегиями sudo. Вы можете узнать больше о том, как настроить пользователя с этими привилегиями, в руководстве Initial Server Setup with CentOS 7.

Шаг 1 — Установка MySQL

Как упоминалось во введении, команда Yum для установки MySQL фактически устанавливает MariaDB. Чтобы установить MySQL, нам нужно посетить репозиторий Yum сообщества MySQL, который предоставляет пакеты для MySQL.

В веб-браузере посетите:

https://dev.mysql.com/downloads/repo/yum/

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

Найдите нужную версию и при необходимости обновите ее по ссылке ниже:

  1. curl -sSLO https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm

Как только файл rpm будет сохранен, мы проверим целостность загрузки, запустив md5sum и сравнив его с соответствующим значением MD5, указанным на сайте:

  1. md5sum mysql80-community-release-el7-5.noarch.rpm
Output
e2bd920ba15cd3d651c1547661c60c7c mysql80-community-release-el7-5.noarch.rpm

Сравните этот вывод с соответствующим значением MD5 на сайте:

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

  1. sudo rpm -ivh mysql57-community-release-el7-9.noarch.rpm

Это добавляет два новых репозитория MySQL yum, и теперь мы можем использовать их для установки сервера MySQL:

  1. sudo yum install mysql-server

Нажмите y, чтобы подтвердить, что вы хотите продолжить. Поскольку мы только что добавили пакет, нам также будет предложено принять его ключ GPG. Нажмите y, чтобы загрузить его и завершить установку.

Шаг 2 — Запуск MySQL

Запустим демон следующей командой:

  1. sudo systemctl start mysqld

systemctl не отображает результаты всех команд управления службами, поэтому, чтобы убедиться, что мы преуспели, мы будем использовать следующую команду:

  1. sudo systemctl status mysqld

Если MySQL успешно запущен, выходные данные должны содержать Active: active (running), а последняя строка должна выглядеть примерно так:

  1. Dec 01 19:02:20 centos-512mb-sfo2-02 systemd[1]: Started MySQL Server.

Примечание: MySQL автоматически запускается при загрузке, когда он установлен. Вы можете изменить это поведение по умолчанию с помощью sudo systemctl disable mysqld

В процессе установки создается временный пароль для пользователя root MySQL. Найдите его в mysqld.log с помощью этой команды:

  1. sudo grep 'temporary password' /var/log/mysqld.log
Output
2022-01-24T19:54:46.313728Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: mqRfBU_3Xk>r

Запишите пароль, который вам понадобится на следующем шаге для защиты установки и где вы будете вынуждены его изменить. Политика паролей по умолчанию требует 12 символов, по крайней мере, с одной прописной буквой, одной строчной буквой, одной цифрой и одним специальным символом.

Шаг 3 — Настройка MySQL

MySQL включает в себя сценарий безопасности для изменения некоторых менее безопасных параметров по умолчанию для таких вещей, как удаленный вход в систему root и примеры пользователей.

Используйте эту команду для запуска сценария безопасности.

  1. sudo mysql_secure_installation

Вам будет предложено ввести пароль root по умолчанию. Как только вы введете его, вам будет необходимо изменить его.

Output
The existing password for the user account root has expired. Please set a new password. New password:

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

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

Output
Estimated strength of the password: 100 Change the password for root ? (Press y|Y for Yes, any other key for No) :

После того, как мы отклоним запрос на изменение пароля еще раз, мы нажмем Y, а затем ENTER на все последующие вопросы, чтобы удалить анонимных пользователей, запретить удаленный вход в систему root, удалите тестовую базу данных и доступ к ней и перезагрузите таблицы привилегий.

Теперь, когда мы защитили установку, давайте проверим ее.

Шаг 4 — Тестирование MySQL

Мы можем проверить нашу установку и получить информацию о ней, подключившись к инструменту mysqladmin, клиенту, который позволяет вам запускать административные команды. Используйте следующую команду для подключения к MySQL с правами root (-u root), запросите пароль (-p) и верните версию.

  1. mysqladmin -u root -p version

Вы должны увидеть вывод, похожий на этот:

mysqladmin  Ver 8.0.28 for Linux on x86_64 (MySQL Community Server - GPL)
Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version		8.0.28
Protocol version	10
Connection		Localhost via UNIX socket
UNIX socket		/var/lib/mysql/mysql.sock
Uptime:			3 min 2 sec

Threads: 2  Questions: 14  Slow queries: 0  Opens: 133  Flush tables: 3  Open tables: 49  Queries per second avg: 0.076

Это означает, что ваша установка прошла успешно.

Заключение

В этом руководстве мы установили и защитили MySQL на сервере CentOS 7. Чтобы узнать больше об использовании MySQL, это руководство по реализации некоторых дополнительных мер безопасности.