今天突然发现php服务器的mysql登陆不上了。阿里云的
用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).
这是怎么回事啊,请大家帮忙,多谢了!

解决方案 »

  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).