1

是否需要将 MySQL 用户添加到 MySQL“系统”?

我正在学习 MySQL 基础知识,但这个问题刚刚出现。原因如下:

:~$ mysql -u johndoe
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 50
Server version: 5.5.24-0ubuntu0.12.04.1 (Ubuntu)

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()            |
+-------------------+
| johndoe@localhost |
+-------------------+
1 row in set (0.00 sec)

mysql> quit
Bye

当然我没有设置一个名为johndoe的用户,但似乎我可以用任何用户名进入mysql。我并不是说我会看到任何数据库,因为它可能没有设置任何数据库,例如 johndoe 可以做某事。

所以我的问题最后是:这是真的还是我看错了?

4

1 回答 1

1

实际上,MySQL 以匿名用户 (''@localhost) 的身份连接您,因为用户“johndoe@localhost”不存在。运行“SELECT CURRENT_USER()”,你会明白我的意思,此外,如果你检查 mysql 数据库中的用户表,你会发现 host='localhost' 和 user='' 的行。

于 2012-07-06T00:57:29.963 回答