2009-11-03 4 views
17

Я вошел в MySQL ...MySQL CREATE USER

mysql -u root -pmypass 

И я выполнить следующую команду, чтобы удалить пользователя базы данных, которая работала успешно

mysql> FLUSH PRIVILEGES; DROP USER 'myuser_shop'; 

Затем я могу добавить пользователя успешно используя следующая команда, снова это успешно работает

mysql> FLUSH PRIVILEGES; CREATE USER 'myuser_shop' IDENTIFIED BY 'mypass'; 

Приведенная выше команда создаст пользователя с хостом как подстановочное (%) Проблема, которую я имею, если я должен был создать пользователь с хостом существами говорят LOCALHOST или внешний IP я получаю следующее сообщение об ошибке:

mysql> FLUSH PRIVILEGES; DROP USER 'myuser_shop'; 
mysql> FLUSH PRIVILEGES; CREATE USER 'myuser_shop'@'localhost' IDENTIFIED BY 'mypass'; 

Query OK, 0 rows affected (0.00 sec) 

ERROR 1396 (HY000): Operation CREATE USER failed for 'myuser_shop'@'localhost' 

Любые предложения?

Заранее спасибо

+1

То, что вы пытаетесь, выглядит нормально для меня. Вы проверили http://bugs.mysql.com/bug.php?id=28331, чтобы узнать, описана ли ваша проблема там? – jphofmann

+0

+1 для вашего комментария для Светлозара Ангелова - это тоже решило мою проблему! – alfasin

ответ

13

Это ошибка сообщается здесь - http://bugs.mysql.com/bug.php?id=28331

Смотрите, если ваш пользователь существует после того, как вы бросьте.

+0

Я проверил таблицу «user» в базе данных «mysql», и нет ссылки на myuser_shop. – Lizard

+5

Фактически, хотя он не появился в таблице пользователя, он должен существовать в файле db, я специально удалил FLUSH PRIVILEGES; DROP USER 'myuser_shop' @ 'localhost'; и CREATE USER тогда работал! спасибо – Lizard

+0

Комментарий от @lizard работал для меня. – rmarimon

2

Проверьте следующие 2 таблицы, если пользователь все еще существует после команды DROP USER: mysql.user и mysql.db.

Удалить пользователя из обоих, а затем запустить FLUSH PRIVILEGES, а затем вы можете воссоздать пользователя.

-1

Вам необходимо вручную удалить записи с помощью mysql.tables_priv.

+2

Вручную возиться в 'mysql. *' Крайне не рекомендуется. – Sammitch

0

падение пользователя «имя пользователя @ локальный »

+0

Вы должны объяснить свой ответ больше – Ascherer

0

я предлагаю вам использовать PHPMyAdmin его очень esey делать с этим делать.

шаги:

  1. открыт PHPMYADMIN
  2. идут в раздел администрирования
  3. хит на счет добавить пользователя
  4. имя пользователя положить и пароль
  5. набор привилегий

, что все смотрите в действии на youtube [click here]