MySQL — известная база данных с открытым исходным кодом, которая используется для хранения и получения данных для разнообразных популярных приложений. MySQL — это компонент M в комплекте LAMP, в который также входят операционная система Linux, веб-сервер Apache и язык программирования PHP.
В Debian 9 по умолчанию используется база данных MariaDB, разработанное сообществом ответвление проекта MySQL. MariaDB хорошо работает в большинстве случаев, но если вам требуются функции, которые доступны только в Oracle MySQL, вы можете устанавливать и использовать пакеты из репозитория, обслуживаемого разработчиками MySQL.
Чтобы установить последнюю версию MySQL, мы добавим этот репозиторий, установим программное обеспечение MySQL, обеспечим защиту установки и, наконец, протестируем работу MySQL и реагирование на команды.
Для целей этого обучающего руководства вам потребуется следующее:
sudo
.Разработчики MySQL предоставляют пакет .deb
, который обрабатывает настройку и установку официальных репозиториев программного обеспечения MySQL. После настройки репозиториев мы сможем использовать стандартную команду apt
в Ubuntu для установки программного обеспечения. Мы загрузим этот файл .deb
с wget
и установим его с помощью команды dpkg
.
Прежде всего следует загрузить страницу загрузки MySQL в браузере. Найдите кнопку Download (Загрузка) в правом нижнем углу и нажмите на нее для перехода на следующую страницу. На этой странице вам будет предложено ввести учетные данные или зарегистрировать учетную запись Oracle. Мы можем пропустить этот шаг и использовать ссылку No thanks, just start my download (Нет, спасибо, просто начните загрузку). Нажмите правой кнопкой мыши на ссылку и выберите Copy Link Address (Скопировать адрес ссылки) (в зависимости от браузера эта команда может называться по другому).
Теперь мы загрузим файл. Перейдите на сервере в директорию, куда может выполняться запись. Загрузите файл с помощью wget
и не забудьте вставить скопированный адрес вместо выделенного ниже фрагмента:
- cd /tmp
- wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb
Теперь файл должен быть загружен в нашей текущей директории. Выведите список файлов, чтобы убедиться:
- ls
Должно быть указано имя файла:
Outputmysql-apt-config_0.8.10-1_all.deb
. . .
Теперь мы готовы к установке:
- sudo dpkg -i mysql-apt-config*
dpkg
используется для установки, удаления и проверки пакетов программного обеспечения .deb
. Флаг -i
показывает, что мы хотим выполнить установку из указанного файла.
Во время установки вам будет представлен экран конфигурации, где вы сможете указать предпочитаемую версию MySQL, а также установить репозитории для других инструментов, связанных с MySQL. По умолчанию данные будут добавлены только данные репозитория в последнюю стабильную версию MySQL. Это то, что нам требуется, так что используйте стрелку вниз для перехода к меню Ok
и нажмите ENTER
.
Теперь пакет закончит добавление репозитория. Обновите кэш пакетов apt
, чтобы сделать доступными новые пакеты программного обеспечения:
- sudo apt update
Теперь мы добавили репозитории MySQL и готовы к установке серверного программного обеспечения MySQL. Если вам потребуется обновить конфигурацию этих репозиториев, просто запустите команду sudo dpkg-reconfigure mysql-apt-config
, выберите новые опции, а затем запустите команду sudo apt-get update
для обновления кэша пакетов.
После добавления репозитория и обновления кэша пакетов мы можем использовать apt
для установки последней версии серверного пакета MySQL:
- sudo apt install mysql-server
apt
просмотрит все доступные пакеты mysql-server
и определит последний и лучше всего подходящий пакет MySQL. После этого будет проведен расчет зависимостей пакетов и вам будет предложено одобрить установку. Нажмите y
, а затем нажмите ENTER
. Будет выполнена установка программного обеспечения.
На этапе настройки конфигурации при установке вам будет предложено установить пароль для пользователя root. Выберите и подтвердите защищенный пароль, чтобы продолжить. После этого появится диалог, где вам нужно будет выбрать плагин аутентификации по умолчанию. Прочитайте текст на экране, чтобы понять предлагаемые для выбора варианты. Если вы не уверены, безопаснее выбрать вариант Use Strong Password Encryption (Использовать шифрование с надежным паролем).
Теперь база данных MySQL установлена и запущена. Давайте проверим, используя команду systemctl
:
- sudo systemctl status mysql
Output● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2018-09-05 15:58:21 UTC; 30s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Main PID: 12805 (mysqld)
Status: "SERVER_OPERATING"
CGroup: /system.slice/mysql.service
└─12805 /usr/sbin/mysqld
Sep 05 15:58:15 mysql1 systemd[1]: Starting MySQL Community Server...
Sep 05 15:58:21 mysql1 systemd[1]: Started MySQL Community Server.
Строка Active: active (running)
означает, что база данных MySQL запущена и работает. Теперь сделаем установку немного более безопасной.
В MySQL имеется команда, которую мы можем использовать для обновления безопасности установленного программного обеспечения. Запустим эту команду:
- mysql_secure_installation
MySQL запросит у вас пароль пользователя root, заданный при установке. Введите этот пароль и нажмите ENTER
. После этого нужно ответить на серию диалогов с вариантами ответов «Да» или «Нет». Давайте рассмотрим эти диалоги:
Вначале открывается диалог плагина проверки пароля, который автоматически задает определенные правила обеспечения надежности пароля для пользователей MySQL. Это решение вам нужно принимать в зависимости от ваших индивидуальных требований безопасности. Введите y
и нажмите ENTER
для активации или просто нажмите ENTER
, чтобы пропустить ввод. В случае активации вам также будет предложено выбрать уровень от 0 до 2, чтобы задать требуемый уровень строгости проверки пароля. Выберите число и нажмите ENTER
, чтобы продолжить.
Затем вам будет предложено изменить пароль для пользователя root. Поскольку мы создали пароль при установке MySQL, мы можем безопасно пропустить этот шаг. Нажмите ENTER
, чтобы продолжить без обновления пароля.
В остальных диалогах можно выбрать утвердительный ответ (yes). Вам будет предложено удалить анонимного пользователя MySQL, запретить удаленный вход в систему пользователя root, удалить базу данных test и перезагрузить таблицы привилегий, чтобы предыдущие изменения вступили в силу надлежащим образом. Лучше всего сделать все это. Введите y
и нажмите ENTER
в каждом из этих диалогов.
После ответов на вопросы во всех диалогах скрипт завершит работу. Теперь установка MySQL защищена. Мы проведем еще одно тестирование, для чего запустим клиент, который подключается к серверу и получает определенную информацию.
mysqladmin
— клиент администрирования MySQL через интерфейс командной строки. С его помощью мы подключимся к серверу и выведем информацию о версии и состоянии:
- mysqladmin -u root -p version
Опция -u root
указывает mysqladmin
выполнять вход от имени пользователя root в MySQL, опция -p
указывает клиенту запросить пароль, а version
— это запускаемая нами команда.
В результатах мы увидим версию запущенного сервера MySQL, время работы и другую информацию о состоянии:
Outputmysqladmin Ver 8.0.12 for Linux on x86_64 (MySQL Community Server - GPL)
Copyright (c) 2000, 2018, 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 8.0.12
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 6 min 42 sec
Threads: 2 Questions: 12 Slow queries: 0 Opens: 123 Flush tables: 2 Open tables: 99 Queries per second avg: 0.029
Если вы получили примерно такие же результаты, поздравляем! Вы успешно установили последнюю версию сервера MySQL и обеспечили его защиту.
Вы завершили установку последней версии базы данных MySQL, которая должна работать с большинством популярных приложений.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!