今天在搞MYSQL数据库的时候遇到到个迷惑的问题。mysql不创建用户了。
幸好遇到一群大神朋友,终于搞定了。很感谢他们。
我相信肯定也有朋友遇到过着样的问题。
下面我给出我的解决方案,希望可以帮助到大家:
1.确保你的mysql数据库用户无你所要建的用户
mysql> select user,host from user;
+-----------+-----------+
| user | host |
+-----------+-----------+
| root | 127.0.0.1 |
| dashboard | localhost |
| root | localhost |
+-----------+-----------+
3 rows in set (0.01 sec)
2.如果有你可以删除它在建立
mysql> delete from user where User='dashboard';
Query OK, 1 row affected (0.02 sec)
mysql> select user,host from user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | localhost |
+------+-----------+
2 rows in set (0.01 sec)
mysql> CREATE USER 'dashboard'@'localhost' IDENTIFIED BY 'zhangxc';
ERROR 1396 (HY000): Operation CREATE USER failed for 'dashboard'@'localhost'
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
mysql> CREATE USER 'dashboard'@'localhost' IDENTIFIED BY 'zhangxc';
ERROR 1396 (HY000): Operation CREATE USER failed for 'dashboard'@'localhost'
大家看到上面的问题就是我遇到的问题解决方案为:
mysql> GRANT ALL ON dashboard_production.* TO 'dashboard'@'localhost'
IDENTIFIED BY 'zhangxc';
Query OK, 0 rows affected (0.01 sec)
mysql> select user,host from user;
+-----------+-----------+
| user | host |
+-----------+-----------+
| root | 127.0.0.1 |
| dashboard | localhost |
| root | localhost |
+-----------+-----------+
3 rows in set (0.01 sec) //这样就解决临,带授权一起建立就ok了。
3.没有用户的情况
mysql> select user,host from user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | localhost |
+------+-----------+
2 rows in set (0.01 sec)
mysql> CREATE USER 'dashboard'@'localhost' IDENTIFIED BY 'zhangxc';
//也可能遇到这种情况
ERROR 1396 (HY000): Operation CREATE USER failed for 'dashboard'@'localhost'
mysql> GRANT ALL ON dashboard_production.* TO 'dashboard'@'localhost'
IDENTIFIED BY 'zhangxc';
Query OK, 0 rows affected (0.02 sec)
//解决方案一致
4.一般情况。
mysql> FLUSH PRIVILEGES; //这样做就可以再次建立了。