我已经面对这个问题有一段时间了。我已经在确实安装的 php 和 mysql 中安装了 xampp。mysql 总是带有默认用户 root (没有密码)。我可以使用 root 登录(无密码),但它不允许我做任何事情。使用任何数据库,选择任何表,更改密码..它不允许我做任何这些操作。如果尝试我收到一条消息
mysql> use mysql
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
mysql>
让我向您展示我在这里所做的步骤..
登录成功。
C:\xampp\mysql\bin>mysql.exe -u root;
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.5.27 MySQL Community Server (GPL)
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
我运行它来查看用户列表
mysql> select user();
+-----------------+
| user() |
+-----------------+
| root;@localhost |
+-----------------+
1 row in set (0.00 sec)
很好,我也跑了这个
mysql> select current_user();
+----------------+
| current_user() |
+----------------+
| @localhost |
+----------------+
1 row in set (0.00 sec)
我不知道为什么它没有显示为 root@localhost,这是正确的方法吗?
然后有趣的是下面的消息显示
mysql> show grants;
+--------------------------------------+
| Grants for @localhost |
+--------------------------------------+
| GRANT USAGE ON *.* TO ''@'localhost' |
+--------------------------------------+
1 row in set (0.00 sec)
Grant USAGE ... 对吗?
它只是阻止我从 DB 做任何事情。