Введение
В MySQL и MariaDB вы можете создавать пользователей, которые подключаются к базе данных, используя аутентификацию сокетов вместо традиционной комбинации имени пользователя и пароля. Этот метод безопасен и удобен, так как использует учетные данные пользователя операционной системы. Вот как вы можете это настроить.
Что такое аутентификация сокетов?
Аутентификация сокетов позволяет пользователю подключаться к базе данных без пароля, используя вместо этого свои учетные данные пользователя Unix или Linux. Это полезно для безопасных сред. Это упрощает процесс входа в систему, устраняя необходимость ввода паролей для частых пользователей.
Как это работает?
Аутентификация сокетов работает путем сопоставления пользователя операционной системы с пользователем MySQL/MariaDB. Когда пользователь операционной системы входит в систему, MySQL/MariaDB проверяет его личность через системный сокет, позволяя войти в систему без пароля.
Создание пользователя с аутентификацией сокетов в MySQL
Давайте посмотрим, какие шаги необходимо предпринять для создания пользователя с аутентификацией сокетов в MySQL/MariaDB.
Шаг 1. Создайте пользователя Unix/Linux.
Сначала создайте нового пользователя Unix/Linux, если у вас его еще нет. Откройте терминал и используйте следующую команду:
sudo adduser myuser
Это создаст в вашей системе нового пользователя с именем «myuser».
Шаг 2. Войдите в MySQL/MariaDB.
Затем войдите на свой сервер MySQL/MariaDB как пользователь root:
sudo mysql -u root -p
Шаг 3. Создайте пользователя с аутентификацией через сокет.
После входа в систему создайте нового пользователя MySQL/MariaDB, который использует аутентификацию auth_socket:
CREATE USER 'myuser'@'localhost' IDENTIFIED WITH auth_socket;
Эта команда создает пользователя с именем «myuser», который может подключаться с «localhost» с использованием аутентификации сокета.
Шаг 4. Предоставьте привилегии
Предоставьте необходимые привилегии новому пользователю. Например, чтобы предоставить все привилегии для конкретной базы данных:
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
Шаг 5. Примените изменения
Примените изменения, очистив привилегии:
FLUSH PRIVILEGES;
Шаг 6. Проверьте подключение.
Теперь выйдите из MySQL/MariaDB и попробуйте войти в систему как новый пользователь, используя аутентификацию сокета:
mysql -u myuser
Если все настроено правильно, вы сможете подключиться без запроса пароля.
Заключение
Создание пользователя с аутентификацией сокетов в MySQL/MariaDB делает вход в систему более простым и безопасным. Используйте данные пользователя операционной системы вместо того, чтобы требовать отдельный пароль для базы данных. Выполнив следующие действия, вы сможете быстро настроить аутентификацию сокетов. Таким образом, локальные пользователи могут безопасно и удобно получить доступ к базе данных.