mysql CREATE USER

2020-06-08 03:37发布

I am logged into mysql...

mysql -u root -pmypass

And I have run the following command to remove the database user which worked succesfully

mysql> FLUSH PRIVILEGES; DROP USER 'myuser_shop';

I can then add user successfully using the following command, again this works successfully

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

The above command create a user with the host as a wildcard (%) The issue I am having is if I was to create a user with the host being say localhost or an external IP i get the following error:

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'

Any suggestions?

Thanks in advance

5条回答
Lonely孤独者°
2楼-- · 2020-06-08 03:55

i will suggest you to use phpmyadmin its very esey do do with that.

steps:

  1. open phpmyadmin
  2. go to admin section
  3. hit on add user account
  4. put user name and password
  5. set privileges

that's all see in action on youtube [ click here ]

查看更多
该账号已被封号
3楼-- · 2020-06-08 03:59

You have to manualy remove records with from mysql.tables_priv also.

查看更多
beautiful°
4楼-- · 2020-06-08 04:00

drop user 'username@localhost '

查看更多
▲ chillily
5楼-- · 2020-06-08 04:02

This is a bug reported here - http://bugs.mysql.com/bug.php?id=28331

See if your user exists after you drop it.

查看更多
趁早两清
6楼-- · 2020-06-08 04:08

Check following 2 tables if user is still there after DROP USER command: mysql.user and mysql.db.

Delete user from both, then run FLUSH PRIVILEGES and then you can recreate the user.

查看更多
登录 后发表回答