MySQL – это открытая система управления базами данных, которая является частью стека LEMP (Linux, Nginx, MySQL/ MariaDB, PHP/Python/Perl). Для управления данными реляционная СУБД MySQL использует SQL (Structured Query Language).
В системе CentOS 7 обычно используется MariaDB, разработанный и поддерживаемый создателями MySQL форк, предназначенный для замены MySQL. Если вы запустите команду yum install mysql в CentOS 7, вместо MySQL будет установлена система MariaDB.
Читайте также: Переход с MySQL на MariaDB
MariaDB имеет все функции системы MySQL и без проблем заменяет её, так что вы можете использовать MariaDB вместо MySQL, если ваше приложение не привязано именно к MySQL.
Читайте также: Установка MariaDB в CentOS 7
Данное руководство поможет установить MySQL 5.7 на сервер CentOS 7.
Требования
- Сервер CentOS 7.
- Пользователь с доступом к sudo.
Все необходимые инструкции можно найти в руководстве по начальной настройке сервера.
1: Установка MySQL
Как говорилось ранее, команда yum вместо MySQL устанавливает MariaDB. Чтобы установить MySQL, посетите yum-репозиторий сообщества MySQL и найдите там необходимый пакет. Откройте в браузере:
https://dev.mysql.com/downloads/repo/yum/
Обратите внимание: ссылки для загрузки не ведут напрямую к файлам. Вместо этого вы попадаете на страницу, которая приглашает вас войти или зарегистрироваться. Если вы не хотите создавать учётную запись, найдите «No thanks, just start my download», кликните правой кнопкой мыши и скопируйте ссылку на пакет.
Вставьте ссылку в команду:
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
Примечание: Номер версии может отличаться.
Сохранив rpm-файл, нужно убедиться, что он не повреждён. Для этого загрузите md5sum и сравните контрольную сумму со значением MD5, которое можно найти на сайте.
md5sum mysql57-community-release-el7-9.noarch.rpm
1a29601dc380ef2c7bc25e2a0e25d31e mysql57-community-release-el7-9.noarch.rpm
Примечание: MD5 можно найти под кнопкой Download.
Убедившись в подлинности пакета, вы можете установить его:
sudo rpm -ivh mysql57-community-release-el7-9.noarch.rpm
После этого на сервере появится два дополнительных yum-репозитория MySQL, с помощью которых можно установить MySQL.
sudo yum install mysql-server
Чтобы продолжить, нажмите y. После добавления пакета система предложит принять его GPG-ключ. Нажмите y, чтобы загрузить ключ и закончить установку.
2: Запуск MySQL
Запустите демон 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
Во время установки MySQL генерирует временный пароль для root-пользователя. Найдите его в mysqld.log с помощью команды:
sudo grep 'temporary password' /var/log/mysqld.log
2016-12-01T00:22:31.416107Z 1 [Note] A temporary password is generated for root@localhost: mqRfBU_3Xk>r
Запишите пароль, чтобы пройти аутентификацию. Конечно, этот пароль нужно заменить более сложным. Стандартная политика требует, чтобы пароль состоял из 12 символов (включая буквы верхнего и нижнего регистра, цифры и специальные символы).
3: Настройка MySQL
После завершения установки нужно запустить встроенный сценарий безопасности MySQL, который изменяет некоторые опции по умолчанию и блокирует удалённый root-логин. Чтобы запустить сценарий, введите:
sudo mysql_secure_installation
Программа запросит root-пароль, который вы получили при установке.
The existing password for the user account root has expired. Please set a new password.
New password:
Введите новый пароль из 12 символов и подтвердите его.
Примечание: Пароль должен содержать минимум один специальный символ, одну цифру, одну букву верхнего и одну нижнего регистра.
Программа оценит ваш новый пароль и сообщит о его надёжности. После этого программа сразу предложит выбрать новый пароль. Поскольку вы выбрали его только что, не нужно этого делать.
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
Теперь нужно убедиться, что установка MySQL прошла успешно.
Попробуйте подключиться к БД с помощью инструмента mysqladmin (это клиент, предназначенный для запуска команд администрирования). Чтобы подключиться к MySQL как root (-u root), ввести пароль (-p) и запросить версию программы, введите команду:
mysqladmin -u root -p version
Команда вернёт:
mysqladmin Ver 8.42 Distrib 5.7.16, for Linux on x86_64
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 5.7.16
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 2 min 17 sec
Threads: 1 Questions: 6 Slow queries: 0 Opens: 107 Flush tables: 1 Open tables: 100 Queries per second avg: 0.043
Это значит, что установка и настройка СУБД MySQL прошла успешно.
Заключение
Теперь вы умеете выполнять базовую установку и настройку MySQL.
Читайте также: