MySQL – это популярная реляционная система управления базами данных (РСУБД) с открытым исходным кодом, которая широко используется для создания, хранения и извлечения данных приложений. MySQL входит в стек LAMP, который включает в себя другие популярные открытые программы: систему Linux, веб-сервер Apache и язык программирования PHP.
Когда MySQL выпускает новые функции, версия дистрибьютора Linux устаревает, в связи с чем вам может потребоваться установить более свежую версию. Для этой цели разработчики MySQL поддерживают собственный репозиторий.
В этом руководстве вы научитесь устанавливать последнюю версию MySQL. Чтобы сделать это, нам нужно будет добавить репозиторий программного обеспечения MySQL, после чего мы сможем установить саму программу MySQL. Затем мы защитим нашу новую копию программы и убедимся, что MySQL работает и отвечает на команды.
Требования
Для выполнения этого руководства вам понадобится сервер Ubuntu 20.04 с пользователем sudo и настроенным брандмауэром. Инструкции по начальной настройке можно найти в этом руководстве.
1: Добавление репозитория MySQL
Разработчики MySQL предоставляют пакет .deb, который настраивает и устанавливает официальные репозитории MySQL. После настройки репозиториев мы запустим стандартную команду Ubuntu для установки программного обеспечения, apt. Давайте загрузим файл .deb с помощью curl, а затем установим его с помощью команды dpkg.
Сначала откройте эту страницу MySQL в веб-браузере. Найдите кнопку Download в правом углу и нажмите ее, чтобы перейти на следующую страницу. На этой странице вам будет предложено войти в систему или создать учетную запись Oracle в Интернете. Не обращайте на это внимания, найдите ссылку с надписью «No thanks, just start my download» и нажмите на нее правой кнопкой мыши. В появившемся меню выберите Copy Link Address (этот параметр может иметь разные формулировки в зависимости от вашего браузера).
После этого вы сможете скачать файл. На вашем сервере перейдите в изменяемый каталог:
cd /tmp
Загрузите файл с помощью curl и замените URL адресом, который вы скопировали со страницы загрузки MySQL:
curl -OL https://dev.mysql.com/get/mysql-apt-config_0.8.18-1_all.deb
Здесь мы используем два флага. -O выводит результат команды в файл вместо стандартного вывода. Флаг L заставляет curl следовать перенаправлениям HTTP, потому что адрес, который вы скопировали, фактически перенаправляет ее в другое место до загрузки файла.
Теперь файл загружен в текущий каталог. Запросите список файлов, чтобы убедиться в этом:
ls
Вы увидите в списке имя вашего файла:
mysql-apt-config_0.8.18-1_all.deb . . .
Теперь вы можете использовать dpkg, чтобы начать установку:
sudo dpkg -i mysql-apt-config*
dpkg используется для установки, удаления и проверки пакетов программного обеспечения .deb. Флаг -i запускает установку из указанного файла.
Во время установки на экране появится окно конфигурации, в котором вы можете выбрать, какую версию MySQL вы предпочитаете, а также вариант установки репозиториев для других инструментов, связанных с MySQL.
Поскольку мы собираемся установить только последнюю версию MySQL, мы просто выберем Ok и нажмем Enter. Необходимая информация о репозитории уже включена в настройки по умолчанию.
Добавление репозитория будет завершено. Затем можно обновить кеш пакетов apt, чтобы сделать доступными новые пакеты:
sudo apt update
Приведите все в порядок, удалив скачанный файл с помощью команды rm:
rm mysql-apt-config*
Теперь, когда репозитории MySQL добавлены, вы готовы к установке фактического программного обеспечения MySQL. В будущем вы сможете обновить конфигурацию этих репозиториев, запустив команду:
sudo dpkg-reconfigure mysql-apt-config
после чего вы сможете выбрать новые параметры, а затем ввести:
sudo apt update
чтобы обновить кэш.
2: Установка новой версии MySQL
После добавления репозитория и обновления кэша пакетов можно использовать стандартную команду apt для установки последней версии пакета MySQL:
sudo apt install mysql-server
Команда apt идентифицирует все доступные пакеты mysql-server и подтвердит, что пакет MySQL является последней версией. Затем она рассчитает зависимости пакетов и предложит вам одобрить установку. Введите y, затем нажмите Enter, чтобы продолжить установку.
На этапе настройки вам будет предложено создать root пароль. Обязательно выберите уникальный и надежный пароль. После того как вы дважды введете пароль и нажмете Enter, вам будет предложено настроить плагин аутентификации. По умолчанию рекомендуется использовать плагин Use Strong Password Encryption, поэтому нажмите Enter, чтобы выбрать его.
Теперь новая версия MySQL установлена и запущена. Вы можете проверить это с помощью systemctl:
systemctl status mysql
Команда вернет такой результат:
mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: >
Active: active (running) since Thu 2021-08-05 22:11:42 UTC; 1min 23s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 5268 ExecStartPre=/usr/share/mysql-8.0/mysql-systemd-start pre (cod>
Main PID: 5322 (mysqld)
Status: "Server is operational"
Tasks: 37 (limit: 9513)
Memory: 353.3M
CGroup: /system.slice/mysql.service
└─5322 /usr/sbin/mysqld
Если вы видите Active: active (running), значит, все работает правильно и можно переходить к настройкам безопасности вашей копии.
3: Защита MySQL
MySQL предоставляет специальный инструмент для выполнения нескольких обновлений, связанных с безопасностью. Выполните следующую команду:
mysql_secure_installation
Эта команда вызовет предыдущий экран конфигурации и запросит root-пароль MySQL, который вы создали при установке. Введите его и нажмите Enter. Затем нужно будет ответить на серию альтернативных вопросов:
- Сначала вас спросят, хотите ли вы включить плагин проверки пароля (это плагин, который автоматически внедряет определенные правила установки пароля для ваших пользователей MySQL). Здесь выбор будет зависеть от ваших индивидуальных потребностей в безопасности. Введите y и Enter, чтобы включить его, или просто нажмите Enter, чтобы не включать его. Если вы решите включить его, вам также будет предложено выбрать уровень надежности пароля (от 0 до 2). Выберите число и нажмите Enter, чтобы продолжить.
- Во-вторых, программа спросит, хотите ли вы изменить пароль root. Поскольку вы создали пароль только что, во время установки, вы можете спокойно пропустить это. Нажмите Enter, чтобы продолжить, не обновляя пароль.
- На все остальные запросы можно ответить yes. Вам будет предложено удалить анонимного пользователя MySQL, запретить удаленный root логин в систему, удалить тестовую базу данных и перезагрузить таблицы привилегий, чтобы предыдущие изменения вступили в силу. Введите y и нажмите Enter на каждый вопрос.
Экран конфигурации исчезнет после того, как как вы ответите на все вопросы. После этого ваша копия MySQL будет достаточно защищена. Чтобы подтвердить это, мы запустим клиент, который подключается к серверу и возвращает некоторую информацию.
4: Тестирование MySQL
mysqladmin – это клиент командной строки для MySQL. Мы будем использовать его для подключения к серверу и вывода информации о версии и статусе:
mysqladmin -u root -p version
Флаг -u root позволяет mysqladmin войти в систему как root пользователь MySQL, флаг -p запросит пароль, а version – это фактическая команда, которую мы хотим запустить.
Выходные данные сообщат нам, какая версия сервера MySQL сейчас работает, а также выведет время ее работы и некоторую другую информацию о состоянии программы:
mysqladmin Ver 8.0.26 for Linux on x86_64 (MySQL Community Server - GPL) Copyright (c) 2000, 2021, 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.26 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 31 min 1 sec Threads: 2 Questions: 12 Slow queries: 0 Opens: 130 Flush tables: 3 Open tables: 49 Queries per second avg: 0.006
Эти данные показывают, что вы успешно установили и защитили последнюю версию сервера MySQL.
Заключение
Мы завершили базовую установку последней версии MySQL, которая лучше подходит для обслуживания многих популярных приложений. Если у вас есть более сложные задачи, вы можете обратиться к этим руководствам: