
MySQL — самая популярная система управления реляционными базами данных с открытым исходным кодом.
Последняя версия сервера баз данных MySQL, версия 8.0, доступна для установки из репозиториев CentOS 8 по умолчанию.
В MySQL 8.0 представлено множество новых функций и изменений, из-за которых некоторые приложения стали несовместимы с этой версией. Прежде чем выбрать версию MySQL для установки, ознакомьтесь с документацией приложения, которое вы собираетесь развернуть на сервере CentOS.
CentOS 8 также предоставляет MariaDB 10.3, которая является «заменой» MySQL 5.7, но с некоторыми ограничениями. Если ваше приложение несовместимо с MySQL 8.0, установите MariaDB 10.3.
В этом руководстве мы покажем вам, как установить и защитить MySQL 8.0 в системах CentOS 8.
Установка MySQL 8.0 на CentOS 8
Установите сервер MySQL 8.0, используя менеджер пакетов CentOS как пользователь root или пользователь с привилегиями sudo :
sudo dnf install @mysql
Модуль @mysql устанавливает MySQL и все зависимости.
После завершения установки запустите службу MySQL и включите ее автоматический запуск при загрузке, выполнив следующую команду:
sudo systemctl enable --now mysqld
Чтобы проверить, запущен ли сервер MySQL, введите:
sudo systemctl status mysqld
● mysqld.service - MySQL 8.0 database server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2019-10-17 22:09:39 UTC; 15s ago ...
Обеспечение безопасности MySQL
Запустите скрипт mysql_secure_installation , который выполняет несколько операций, связанных с безопасностью, и устанавливает пароль root для MySQL:
sudo mysql_secure_installation
Вам будет предложено настроить плагин VALIDATE PASSWORD PLUGIN , который используется для проверки надёжности паролей пользователей MySQL и повышения безопасности. Существует три уровня проверки паролей: низкий, средний и высокий. Нажмите ENTER если вы не хотите настраивать плагин проверки паролей.
В следующем запросе вам будет предложено задать пароль для пользователя root в MySQL. После этого скрипт также попросит удалить анонимного пользователя, ограничить доступ пользователя root к локальной машине и удалить тестовую базу данных. На все вопросы следует ответить «Y» (да).
Для взаимодействия с сервером MySQL из командной строки используйте клиентскую утилиту MySQL, которая устанавливается как зависимость. Проверьте доступ root, выполнив команду:
mysql -u root -p
При появлении запроса введите пароль root , и вам будет представлена оболочка MySQL, как показано ниже:
Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 12 Server version: 8.0.17 Source distribution
Вот и всё! Вы установили и защитили MySQL 8.0 на своём сервере CentOS и готовы к использованию.
Метод аутентификации
Сервер MySQL 8.0, включенный в репозитории CentOS 8, настроен на использование старого плагина аутентификации mysql_native_password , поскольку некоторые клиентские инструменты и библиотеки в CentOS 8 несовместимы с методом caching_sha2_password , который установлен по умолчанию в выпуске MySQL 8.0.
Метод mysql_native_password должен подойти для большинства конфигураций. Однако, если вы хотите изменить плагин аутентификации по умолчанию на caching_sha2_password , который быстрее и обеспечивает лучшую безопасность, откройте следующий файл конфигурации:
sudo vim /etc/my.cnf.d/mysql-default-authentication-plugin.cnf
Измените значение default_authentication_plugin на caching_sha2_password :
[mysqld] default_authentication_plugin = caching_sha2_password
Закройте и сохраните файл , а затем перезапустите сервер MySQL, чтобы изменения вступили в силу:
sudo systemctl restart mysqld
Заключение
CentOS 8 распространяется с MySQL 8.0. Установка очень проста: введите dnf install @mysql .
Теперь, когда ваш сервер MySQL запущен и работает, вы можете подключиться к оболочке MySQL и начать создавать новые базы данных и пользователей .
Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.
Эта публикация является частью серии «Установка LAMP Stack на CentOS 8» .
Другие посты в этой серии:
Не используете CentOS 8?
Выберите другую ОС: центос 7 дебиан 10 дебиан 9 убунту 18.04 убунту 20.04 убунту 22.04
Связанные руководства
- Как установить MariaDB на CentOS 8
- Как настроить репликацию MySQL Master-Slave на CentOS 7
- Как установить Drupal на CentOS 7
- Как установить WordPress с Apache на CentOS 7
- Как установить и настроить Redmine на CentOS 7
- Как установить и настроить Redmine на CentOS 8
- Как установить WordPress с Nginx на CentOS 7