Додавання користувача до MySQL з 'name' @ '%' не вдалося з ERROR 1396


9

Я просто намагався додати нового користувача до MySQL за допомогою

CREATE USER 'name'@'%' IDENTIFIED BY '...'

Однак він не вдається зі наступною помилкою:

ERROR 1396 (HY000): Operation CREATE USER failed for 'name'@'%'

Додавання користувача лише для localhost прекрасно працює:

CREATE USER 'name'@'localhost' IDENTIFIED BY '...'

У мене немає поняття, що може бути проблемою. Буду вдячний за будь-які ідеї.

(Я використовую mysql Ver 14.14 Distrib 5.1.66.)


Я зіткнувся з подібною проблемою. Хоча CREATE / DROP користувача, я перевіряв усі таблиці грантів на інформацію про користувача, я не міг знайти жодної інформації про користувача, я намагався відкликати весь доступ і скинув користувача, коли-небудь операція працює, не роблячи будь-які зміни, я написав свою детальну відповідь тут rathishkumar.in/2018/10/…
Rathish

Відповіді:


13

Згідно з документами, якщо ви опустите @ 'ім'я хоста' (тобто CREATE USER 'name'), MySQL буде тлумачити його так, як у нього було @ '%'. Повідомлення про помилку, яке ви надали, говорить про те, що в системі вже є ім'я користувача @ @ '%:

mysql> CREATE USER 'name'@'%' IDENTIFIED BY 'test';
Query OK, 0 rows affected (0.04 sec)

mysql> CREATE USER 'name'@'%' IDENTIFIED BY 'test';
ERROR 1396 (HY000): Operation CREATE USER failed for 'name'@'%'
mysql> CREATE USER 'name' IDENTIFIED BY 'test';
ERROR 1396 (HY000): Operation CREATE USER failed for 'name'@'%'

Якщо ви видалите користувача та все-таки отримаєте повідомлення, спробуйте запустити ПРИМІТКИ ПРИМІТКИ.

Також дивіться це питання ТА для отримання додаткової інформації.


1

Я зіткнувся з цією ж помилкою під час використання докерського зображення mysql: 5.7. Основна помилка була спроба створити rootкористувача, який існує за замовчуванням. Більше інформації: https://github.com/docker-library/mysql/isissue/129

Як зазначено у вищенаведеному посиланні, під час запуску докерного зображення рішенням було встановити НЕ MYSQL_USERта MYSQL_PASSWORDзмінні середовища.


Це мені дуже допомогло! Я не знав, чому я не можу підключитися до БД в докер, і ніколи не підозрював, що це було причиною.
dingo_d
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.