Установка и настройка СУБД MySQL
Установка MySQL на Ubuntu (Debian)
Установка MySQL
Установить MySQL на Ubuntu 20.04 можно через пакет:
На данный момент версия mysql - 8.0.33
Вы можете проверить установленную версию:
Начальная настройка MySQL
Запустите скрипт для повышения безопасности MySQL:
Система запросит разрешение на установку плагина валидации паролей. Этот плагин проверяет безопасность пароля и позволяет пользователю ставить только достаточно защищенные пароли.
Если вы хотите установить этот плагин, введите в консоли y или Y.
Есть три уровня защищенности пароля: LOW (0), MEDIUM (1) и STRONG (2). Чтобы задать уровень пароля, нажмите соответствующую цифру, например, 2 для сильного пароля. Даже если вы на предыдущем шаге не установили плагин, система запросит вас поставить пароль для пользователя root — введите его два раза.
Если плагин установлен, будет показан уровень надёжности пароля Estimated strength of the password.
Далее система задаст ряд вопросов: хотите ли вы использовать этот пароль для продолжения работы, удалить ли всех анонимных пользователей, запретить удаленно подключаться как root, удалить тестовую БД и доступ к ней, перезагрузить таблицы с привилегиями. Вы можете ответить на все эти вопросы положительно: y, Y или Enter.
Если в выводе появится All done!, то пароль для root успешно настроен.
По умолчанию вход в MySQL в Ubuntu не будет происходить по паролю. Чтобы настроить подключение через пароль, следуйте инструкции ниже.
Настройка аутентификации и управление пользователями
Аутентификация по паролю
Для root-пользователя аутентификация в MySQL происходит с использованием плагина auth_socket. Чтобы при подключении запрашивался пароль, нужно изменить плагин.
Войдите в оболочку MySQL:
Посмотрите, какой плагин используется:
Для пользователя root используется auth_socket:
Назначьте пользователю root новый плагин caching_sha2_password. Также установите пароль того уровня надежности, который вы задали ранее (на шаге Базовая настройка MySQL) — это может быть, например, тот же самый пароль. Введите его вместо password:
Некоторые приложения для работы с MySQL (например, phpMyAdmin) не будут надежно работать с плагином caching_sha2_password. В таком случае лучше установить другой плагин — mysql_native_password.
Активируйте изменения:
Проверьте, что для пользователя root плагин изменился на caching_sha2_password:
Закройте командную строку MySQL:
Дополнительный пользователь (опционально)
Не рекомендуется постоянно работать с базами данных от имени пользователя root. Поэтому нужно создать обычного пользователя. Для этого сначала войдите в консоль управления с правами root:
Если у вас не установлена аутентификация по паролю, то для входа в MySQL используйте:
Создайте нового пользователя и поставьте пароль:
*Вместо 'gutovad' укажите свои Фамилию и инициалы.
Если вы хотите дать пользователю полный доступ к определенной базе данных, используйте:
Закройте консоль MySQL:
Тестирование MySQL
Посмотрите статус MySQL:
В выводе должен быть индикатор зеленого цвета и статус active:
По какой-то причине сервис может быть не активен. В таком случае запуск MySQL в Ubuntu происходит через команду:
Если вы хотите дополнительно проверить работу MySQL, используйте инструмент mysqladmin — он нужен для администрирования MySQL-сервера. Подключитесь к MySQL и запросите пароль от root:
Если вывод выглядит подобным образом, то MySQL успешно установлена и готова к использованию:
Удаление MySQL
Если по какой-то причине вам нужно удалить MySQL из Ubuntu 20.04, сначала остановите сервисы:
Удалите пакеты MySQL:
Удалите всех пользователей:
Удалите файлы базы данных, конфигурационные файлы и логи:
Удалите оставшиеся зависимости:
Как сбросить root-пароль MySQL
Чтобы выполнить сброс пароля MySQL, подключитесь к вашему серверу по SSH и следуйте инструкции:
Откройте файл параметров MySQL командой:
Добавьте в конец файла три параметра:
Если директива [mysqld] уже прописана в файле, добавьте только skip-grant-tables и skip-networking:
skip-grant-tables — параметр, который пропускает проверку прав. Это позволит подключиться к MySQL без пароля любому пользователю.
skip-networking — параметр, который запретит удалённые подключения к серверу БД на время сброса пароля.
Чтобы сохранить изменения, нажмите CTRL+S. Затем закройте редактор сочетанием клавиш CTRL+X.
Чтобы запустить MySQL с нужными параметрами, перезапустите сервер БД командой:
Подключитесь к серверу баз данных при помощи команды:
Перезагрузите привилегии:
Поменяйте пароль при помощи команды:
Вместо password введите свой новый пароль.
Если при выполнении команды возникнет ошибка неправильного синтаксиса, попробуйте другую команду:
Если возникнет ошибка «ERROR 1290 (HY000): The MySQL server is running with the —skip-grant-tables option so it cannot execute this statement», выполните команду из 6 шага.
Откройте конфигурационный файл:
Удалите из файла текст, который добавили во втором шаге:
Если на 2 шаге вы добавили только параметры skip-grant-tables и skip-networking, удалите только их.
Обязательно удалите опцию skip-grant-tables из конфигурационного файла после смены пароля. Если не удалить параметр, после перезапуска сервера баз данных подключаться к MySQL можно будет без пароля от имени любого пользователя.
Чтобы сохранить изменения, нажмите CTRL+S. Затем закройте редактор сочетанием клавиш CTRL+X.
Подключитесь к серверу баз данных:
Вместо password напишите ваш новый пароль.
Заключение
Мы рассмотрели с вами установку и базовую настройку СУБД MySQL на Ubuntu (Debian).
Рекомендую ознакомиться со статьями ниже, там представлена установка и базовая настройка MySQL на CentOS, а также приведены примеры основных задач администрирования СУБД MySQL:
Last updated