Истории успеха наших клиентов — лучшие проекты
Вход/ Регистрация

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

6704
6 минут чтения
Средний рейтинг статьи: 4

MySQL – это система управления базами данных с открытым исходным кодом, часто устанавливаемая как часть популярного стека LAMP (Linux, Apache, MySQL, PHP/Python/Perl). Она представляет собой реляционную базу данных, которая для управления использует SQL (Structured Query Language – язык структурированных запросов).

Как Установить My SQL На Ubuntu

Короткая версия установки проста: обновите ваш индекс пакетов, установите пакет mysql-server и запустите встроенный скрипт безопасности.

    

В этом руководстве мы установим MySQL версии 5.7 на сервер Ubuntu 18.04, поэтому оно вам не подойдёт, если вы хотите обновить уже существующую сборку.

DBaaS

Запустите свою базу данных в облаке и
оптимизируйте процессы DevOps и CI/CD.

Требования для установки

Для прохождения этого руководства вам потребуется сервер Ubuntu, непривилегированный пользователь с sudo-правами и брандмауэр.

Шаг 1: Установка MySQL

В репозиторий пакетов APT на Ubuntu 18.04 по умолчанию включена только последняя версия MySQL. В Bionic Beaver это MySQL 5.7.

Для его установки обновите индекс пакетов своего сервера с помощью apt:

    

Затем установите пакет по умолчанию:

    

MySQL будет установлена, но при этом у вас не запросят задать пароль или сделать другие изменения в конфигурации. Так как из-за этого MySQL остаётся незащищённой, мы рассмотрим настройку на следующем этапе.

Шаг 2: Настройка MySQL

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

Запустите скрипт безопасности:

    

Эта команда проведет вас через серию запросов, в которых вы можете внести изменения в параметры безопасности вашей MySQL. Сначала вас спросят, хотите ли вы настроить плагин проверки пароля (Validate Password Plugin), который можно использовать для проверки надежности паролей MySQL. Независимо от вашего выбора, далее вам нужно будет установить пароль для пользователя root MySQL. Придумайте безопасный пароль, введите, а затем подтвердите его.

Теперь вы можете нажать Y, а затем ENTER, чтобы принять значения по умолчанию для всех последующих вопросов. При этом будут удалены некоторые анонимные пользователи вместе с тестовой базой данных, а также отключится возможность удаленного входа в систему для пользователей root. После этого все внесённые изменения будут применены к вашей MySQL.

Для инициализации каталога данных MySQL вы должны использовать mysql_install_db для версий до 5.7.6 или mysqld --initialize для 5.7.6 и новее. Если же вы установили MySQL из дистрибутива Debian, как в шаге 1, директория данных уже была создана автоматически; вам не нужно ничего делать. Если вы все равно попытаетесь запустить эту команду, вы увидите следующую ошибку:

    

Обратите внимание, что хотя вы установили пароль для пользователя root, этот пользователь не настроен для аутентификации по паролю при подключении к оболочке MySQL. При желании вы можете изменить этот параметр, выполнив шаг 3.

Шаг 3 (опциональный): Настройка аутентификации и прав пользователей

В системах Ubuntu под управлением MySQL 5.7 (и более поздних версий) пользователь root MySQL по умолчанию настроен на аутентификацию с использованием плагина auth_socket, а не с паролем. Во многих случаях это повышает безопасность и удобство использования, но одновременно усложняет дело, если вам нужно разрешить внешней программе (например, phpMyAdmin) доступ к MySQL.

Чтобы использовать пароль для подключения к MySQL в качестве пользователя root, вам необходимо сменить метод аутентификации с auth_socket на caching_sha2_password. Для этого откройте командную строку MySQL:

    

Затем проверьте, какой метод аутентификации использует каждая из ваших учетных записей MySQL, с помощью:

    

В этом примере видно, что пользователь root использует аутентификацию с помощью плагина auth_socket. Чтобы настроить аутентификацию с помощью пароля, выполните команду ALTER USER. Обязательно смените дефолтный password на ваш собственный и помните, что эта команда изменит тот пароль от пользователя root, который вы установили на шаге 2:

    

Затем выполните FLUSH PRIVILEGES, чтобы применить все правки:

    

Снова проверьте методы аутентификации для каждого пользователя, чтобы убедиться, что пользователь root больше не использует auth_socket:

    

Убедившись, что пользователь root теперь аутентифицируется с помощью пароля, вы можете выйти из оболочки MySQL:

    

Некоторым для их рабочего процесса удобней подключаться к MySQL через отдельного пользователя. Для его создания, снова откройте оболочку MySQL:

    

Примечание: если у вас включена аутентификация по паролю для пользователя root, как описано в выше, для доступа к оболочке вам нужно будет использовать другую команду. Команда выше будет запускать ваш клиент MySQL с правами обычного пользователя, поэтому, чтобы получить права администратора для своей базы данных, запустите:

    

Теперь создайте нового пользователя и придумайте надёжный пароль:

    

Затем предоставьте новому пользователю необходимые права. К примеру, вы можете предоставить пользователю доступ ко всем таблицам в базе данных, а также право добавлять, изменять и удалять права пользователей с помощью следующей команды:

    

Обратите внимание, что на этом этапе вам не нужно заново запускать команду FLUSH PRIVILEGES. Эта команда необходима только при изменении таблиц доступа с помощью операторов INSERT, UPDATE или DELETE. Поскольку вы создали нового пользователя, а не изменяете существующего, команда FLUSH PRIVILEGES здесь не требуется.

Теперь выйдите из оболочки MySQL:

    

Наконец, давайте протестируем нашу MySQL.

Шаг 4: Тестирование MySQL

Вне зависимости от того, как вы её установили, MySQL должна была запуститься автоматически. Для этого проверьте статус следующей командой:

    

Если MySQL не запустилась, вы можете сделать это с помощью sudo systemctl start mysql.

Для дополнительной проверки вы можете попробовать подключиться к базе данных с помощью инструмента mysqladmin. Этот клиент позволяет запускать административные команды. Например, следующая команда сообщает, что нужно подключиться к MySQL как пользователь root (-u root), запросить пароль (-p) и вернуть версию.

    

Таким образом можно убедиться, что MySQL запущена и работает.

Подготовили для вас выгодные тарифы на DBaaS

Cloud DB 1/1/8

447 ₽/мес

Процессор
1 x 3.3 ГГц
Память
1 ГБ
Диск NVMe
8 ГБ
Приватный IP
Есть
Резервные копии
Есть
Cloud DB 1/2/20

711 ₽/мес

Процессор
1 x 3.3 ГГц
Память
2 ГБ
Диск NVMe
20 ГБ
Приватный IP
Есть
Резервные копии
Есть
Таблица тарифов
Сравнение тарифов
Cloud DB 1/1/8
496
Cloud DB 1/2/20
790
Cloud DB 2/2/30
1160
Cloud DB 2/4/40
1580
Cloud DB 4/8/80
3160
Cloud DB 4/12/120
4240
Cloud DB 6/12/180
5460
Cloud DB 8/16/220
7040
Процессор1 x 3.3 ГГц1 x 3.3 ГГц2 x 3.3 ГГц2 x 3.3 ГГц4 x 3.3 ГГц4 x 3.3 ГГц6 x 3.3 ГГц8 x 3.3 ГГц
Память1 ГБ2 ГБ2 ГБ4 ГБ8 ГБ12 ГБ12 ГБ16 ГБ
Диск NVMe8 ГБ20 ГБ30 ГБ40 ГБ80 ГБ120 ГБ180 ГБ220 ГБ
Приватный IPЕстьЕстьЕстьЕстьЕстьЕстьЕстьЕсть
Резервные копииЕстьЕстьЕстьЕстьЕстьЕстьЕстьЕсть

Заключение

Поздравляем, теперь на вашем сервере запущена и настроена базовая MySQL. Дальше вы можете делать что угодно: например, попробовать запустить дополнительные меры безопасности, переместить директорию данных или же настроить управление серверами MySQL с помощью SaltStack.

6704
6 минут чтения
Средний рейтинг статьи: 4
Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server