СправошнаяПоиск

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

MySQL — это система управления базами данных с открытым исходным кодом, обычно устанавливаемая как часть популярного стека 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, как правило, без проблем работает вместо MySQL, поэтому, если у вас нет конкретного варианта использования MySQL, см. руководство «Как установить 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.

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

 

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

 

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

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

true

 

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

 

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

 

md5sum mysql80-community-release-el7-5.noarch.rpm 

 

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

 

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

true

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

 

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

 

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

 

sudo yum install mysql-server 

 

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

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

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

 

sudo systemctl start mysqld 

 

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

 

sudo systemctl status mysqld 

 

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

 

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

 

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

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

 

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 и примеры пользователей.

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

 

sudo mysql_secure_installation 

 

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

 

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

 

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

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

 

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) и вернуть версию.

 

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.