注意:因为关于root的用户有很多个,首先确认一下是不是密码弄乱套了,当用localhost不能登陆,但是用IP地址能登陆时,很有必要对比一下root@localhostroot@'%'两个用户的密码是否相同~~~
 
----------------------------------------------------
 
mysql拒绝登陆
# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
或者
# mysql -u root -p password 'newpassword'
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)' 

现在终于找到解决方法了。本来准备重装的,现在不必了。
方法操作很简单,如下:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root' and host='root' or host='localhost';//把空的用户密码都修改成非空的密码就行了。
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysqld restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword> 
--------------------
------------虽然做了这两次修改,使得root用户可以操作本地数据库了,但是其他用户却还是不能,表现为extmail和extman无法登陆,搜集资料,没有相似案例,无法解决问题,不得不使用skip-grant-tables选项,所以问题肯定也出在这里,望各位高手指教;=------忘了当时是什么情况了,不过现在想来,可能是用户没有访问相应数据库的权限,所以看不到。