Создание пользователя в MySQL

Краткое пошаговое руководство по созданию пользователя в MySQL

Сразу после установки MySQL у вас будетrootпользователь доступен.

Это пользователь, которого вы можете использовать, чтобы проверить, работает ли MySQL, но он не должен быть пользователем для других видов использования.

Почему? Потому что этослишком мощный.

С большой силой приходит большая ответственность (сказал дядя Человека-паука). И, в частности, велика опасность, если вы сделаете ошибку.

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

Чтобы создать нового пользователя, подключитесь к MySQL, используяrootПользователь:

mysql -u root -p

затем используйте команду

CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>';

Например, чтобы создать пользователя с именемtest_userс паролемtest_password12Aзапустите команду:

CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'test_password12A';

Команда должна вернуть строку, говорящуюQuery OK, 0 rows affected (X.XX sec):

Если вы использовали неверный пароль, система сообщит вам что-то вродеERROR 1819 (HY000): Your password does not satisfy the current policy requirements. В этом случае ошибка говорит о том, что пароль недостаточно сложен, потому что, когда я установил MySQL, я сказал ему использовать определенную политику для паролей.

Замечательно! Теперь пользователь создан, и мы можем подключиться с помощью этого пользователя к MySQL. Из командной строки вы можете выйти, набравQUITи набрав:

mysql -u test_user -p

Теперь, если я попытаюсь создать базу данных, я получу сообщение об ошибкеERROR 1044 (42000): Access denied for user 'test_user'@'localhost' to database 'testing':

Почему? Потому что пользовательне имеет разрешения на создание новой базы данных.

Мы увидим, как работать с разрешениями в другом руководстве.

Стоит отметить@'localhost'строка, которую мы использовали для создания пользователя. Это сообщает MySQL, что пользователь может подключаться только с localhost. Это нормально при тестировании и когда любое приложение, которое подключается к MySQL, работает на том же компьютере, на котором работает СУБД.

Если это не так, вам нужно либо вручную ввести IP-адрес, с которого будет подключаться пользователь, либо использовать%подстановочный знак:

CREATE USER 'test_user'@'%' IDENTIFIED BY 'test_password12A';

Я хочу закрыть это руководство, показав, как удалить созданного нами пользователя:

DROP USER 'test_user'@'localhost';

Больше руководств по базам данных: