mysql以任意用户均可以登录的解决

出处dreamthousand
http://dreamthousand.blog.163.com

困扰了我几天了,发现在fc9这个平台上无论我以什么用户都能登录,但权限只限于test的数据库。

[luyao@localhost disk-4]$ mysql -u sdfsdafasfsa
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.0.51a Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| test               |
+--------------------+
2 rows in set (0.05 sec)

今天是下定了决心,一定要把它拿下来,想了一下,可能是用户认证的数据库有误,出问题了。试了一下,果然如此,把它修正过来后,一切都正常了。下面的就是具体的操作过程。

以root登录,然后删除有问题的user.

mysql> select user from user;
+---------+
| user    |
+---------+
| steve   |
| webuser |
| root    |
|         |
| root    |
|         |
| root    |
+---------+
7 rows in set (0.00 sec)

mysql> delete from user where user='';
Query OK, 2 rows affected (0.01 sec)

大功告成,更新数据库。
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

退出,重新登录,好了,一切恢复正常,至于为什么会有两个空的USER,实在不明白,我觉得自己是不会犯这么SB的错误的。