我给user设置了密码但是也可以不用-p直接访问数据库,郁闷。
下面进入root用户通过代码查询它的密码 返回的是
+-----------+------+-------------------------------------------+-------------+-------------+
| Host | User | Password | Select_priv | Insert_priv | ...
+-----------+------+-------------------------------------------+-------------+-------------+
| localhost | root | *FD571203974BA9AFE270FE62151AE967ECA5E0AA
| % | lynn | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
| +-----------+------+-------------------------------------------+-------------+-------------+
使用select password('123456');
验证结果
+-------------------------------------------+
| password('123456') |
+-------------------------------------------+
| *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
|+-------------------------------------------+
1 row in set (0.00 sec)看来我设置的是正确的。但是进入的时候居然不要密码...
!!解决思路:是不是因为lynn用户没有设置登入域(localhost)导致?
create user 'lynn'@'localhost' identified by '123456'--返回Query OK, 0 rows affected (0.00 sec)
grant all on *.* to 'lynn'@'localhost';
退出root 重新试试
C:\Documents and Settings\Administrator>mysql -ulynn -hlocalhost
ERROR 1045 (28000): Access denied for user 'lynn'@'localhost' (using password: NO)
!!果然 添加到Host才要求输入密码。