Введение
MySQL — это система управления реляционными базами данных с открытым исходным кодом, т. е. программное обеспечение, которое позволяет вам создавать и управлять базами данных, организованными в виде таблиц, с отношениями между ними, для эффективного хранения данных и доступа к ним. Это одна из самых популярных реляционных баз данных в мире. Первоначально она была разработана шведской компанией MySQL AB, которая позже была приобретена Sun Microsystems, а затем корпорацией Oracle.
MySQL использует язык структурированных запросов (SQL) для запроса и обработки данных в базах данных. Он характеризуется простотой использования, масштабируемостью и надежностью. Кроме того, будучи открытым исходным кодом, он находится в свободном доступе и может использоваться, модифицироваться и распространяться без ограничений.
MySQL используется во многих веб-приложениях, включая CMS (система управления контентом), форумы, блоги и приложения электронной коммерции. Благодаря его широкому использованию и большому сообществу разработчиков, которое его поддерживает, вы можете найти множество инструментов и библиотек, которые помогут вам интегрироваться с другим программным обеспечением и языками программирования.
Настроить пароль
По состоянию на июль 2022 года при запуске скрипта mysql_secure_installation
без дополнительной настройки возникает ошибка. Причина в том, что этот сценарий попытается установить пароль для корневой учетной записи MySQL установки, но по умолчанию в установках Ubuntu эта учетная запись не настроена для подключения с использованием пароля.
До июля 2022 года этот сценарий автоматически завершался ошибкой после попытки установить пароль учетной записи root и продолжал выполнять остальные запросы. Однако на момент написания этой статьи скрипт будет возвращать следующую ошибку после ввода и подтверждения пароля:
... Failed! Error: SET PASSWORD has no significance for user 'root'@'localhost' as the authentication method used doesn't store authentication data in the MySQL server. Please consider using ALTER USER instead if you want to change authentication parameters.
New password:
Это приведет сценарий к рекурсивному циклу, из которого вы можете выйти, только закрыв окно терминала.
Поскольку сценарий mysql_secure_installation
выполняет ряд других действий, помогающих обеспечить безопасность вашей установки MySQL, все же рекомендуется запускать его до того, как вы начнете использовать MySQL для управления своими данными. Однако, чтобы не попасть в этот рекурсивный цикл, вам сначала нужно настроить способ аутентификации корневого пользователя MySQL.
Сначала откройте командную строку MySQL:
sudo mysql
Затем выполните следующую команду ALTER USER
, чтобы изменить метод аутентификации пользователя root на тот, который использует пароль. В следующем примере метод аутентификации изменяется на mysql_native_password
:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
После внесения этого изменения выйдите в командную строку MySQL:
exit
После этого вы можете без проблем запустить скрипт mysql_secure_installation
.
Как восстановить метод аутентификации по умолчанию без пароля
После завершения сценария безопасности вы можете снова открыть MySQL и изменить метод аутентификации auth_socket
пользователя root на значение по умолчанию,. Чтобы аутентифицироваться как пользователь root MySQL с использованием пароля, выполните следующую команду:
mysql -u root -p
Затем вернитесь к использованию метода аутентификации по умолчанию с помощью этой команды:
ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;
Это означает, что вы можете снова подключиться к MySQL как пользователь root, используя команду sudo mysql
.
Запустите скрипт безопасности с помощью sudo
:
sudo mysql_secure_installation
Это проведет вас через серию подсказок, где вы можете внести некоторые изменения в параметры безопасности вашей установки MySQL. Первое приглашение спросит, хотите ли вы настроить подключаемый модуль Validate Password, который можно использовать для проверки надежности пароля новых пользователей MySQL, прежде чем считать их действительными.
Если вы решите установить подключаемый модуль Validate Password, любому созданному вами пользователю MySQL, который аутентифицируется с помощью пароля, будет предложено ввести пароль, который удовлетворяет выбранной политике. Самый сильный уровень политики, который можно выбрать, введя 2
, потребует, чтобы пароли имели длину не менее восьми символов и включали сочетание прописных и строчных букв, цифр и специальных символов:
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No: Y
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:
2
Независимо от того, решите ли вы настроить плагин Validate Password, следующим запросом будет установка пароля для пользователя root MySQL. Введите, а затем подтвердите безопасный пароль по вашему выбору:
Please set the password for root here.
New password:
Re-enter new password:
Обратите внимание, что даже если вы установили пароль для пользователя root MySQL, этот пользователь в настоящее время не настроен для аутентификации с помощью пароля при подключении к оболочке MySQL.
Если вы использовали подключаемый модуль Validate Password, вы получите отзыв о надежности вашего нового пароля. Затем скрипт спросит, хотите ли вы продолжить с только что введенным паролем или хотите ввести новый. Предполагая, что вы довольны надежностью только что введенного пароля, введите Y
, чтобы продолжить сценарий:
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No): Y
Оттуда вы можете нажать Y
, а затем ENTER
, чтобы принять значения по умолчанию для всех последующих вопросов. Это удалит некоторых анонимных пользователей и тестовую базу данных, отключит удаленный вход в систему root и загрузит эти новые правила, чтобы MySQL немедленно принял изменения.
После завершения скрипта ваша установка MySQL будет защищена. Теперь вы можете перейти к созданию выделенного пользователя базы данных с помощью клиента MySQL.
Заключение
В этом уроке мы увидели, как установить пароль в MySQL.