用mysql -u root -p显示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES).
上网查了下解决办法,参照http://blog.sina.com.cn/s/blog_759a5a7c01017dj0.html。
步骤如下:
编辑mysql配置文件my.ini(不知道在哪请搜索),在[mysqld]这个条目下加入
skip-grant-tables
保存退出后重启mysql /etc/init.d/mysqld restart
mysql> use mysql;
mysql> update user set password=password("新密码") where user="root";
mysql> flush privileges;
mysql> quit
改好之后,再修改一下my.ini这个文件,把刚才加入的"skip-grant-tables"这行删除,保存退出再重启mysql。
设置好后,使用mysql命令竟然直接还能进去。而使用mysql -u root -p,用正确密码仍然是ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES).
这是怎么回事啊,请大家帮忙,多谢了!
3 个解决方案
#1
你看一下,MYSQL.USER表,USER为ROOT,HOST=‘localhost’有没有存在,你改密码是这个条件的
#2
好像没有localhost,那该怎么办呢?
#3
我插入了一条host=localhost的记录后,使用正确密码可以访问了,网站也可以正常访问了。
但我将my.cnf中skip-grant-tables一行去掉后 ,还是老样子
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES).
但我将my.cnf中skip-grant-tables一行去掉后 ,还是老样子
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES).
#1
你看一下,MYSQL.USER表,USER为ROOT,HOST=‘localhost’有没有存在,你改密码是这个条件的
#2
好像没有localhost,那该怎么办呢?
#3
我插入了一条host=localhost的记录后,使用正确密码可以访问了,网站也可以正常访问了。
但我将my.cnf中skip-grant-tables一行去掉后 ,还是老样子
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES).
但我将my.cnf中skip-grant-tables一行去掉后 ,还是老样子
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES).