ERROR 1045 (28000)Access denied for user root localhost using passwordNO

来源:互联网 发布:龙渊网络 编辑:程序博客网 时间:2024/06/13 21:36
参考网址:
http://stackoverflow.com/questions/19989418/error-1045-28000-access-denied-for-user-rootlocalhost-using-password-n
具体办法:
Follow the steps given below:
  1. Stop your MySQL server completely. This can be done by accessing the Services window inside Windows XP and Windows Server 2003, where you can stop the MySQL service.
  2. Open your MS-DOS command prompt using "cmd" inside the Run window. Inside it navigate to your MySQL bin folder, such as C:\MySQL\bin using the cd command.
  3. Execute the following command in the command prompt: mysqld.exe -u root --skip-grant-tables
  4. Leave the current MS-DOS command prompt as it is, and open a new MS-DOS command prompt window.
  5. Navigate to your MySQL bin folder, such as C:\MySQL\bin using the cd command.
  6. Enter mysql and press enter.
  7. You should now have the MySQL command prompt working. Type use mysql; so that we switch to the "mysql" database.
  8. Execute the following command to update the password:
UPDATE user SET Password = PASSWORD('NEW_PASSWORD') WHERE User = 'root';
However, you can now run any SQL command that you wish.
After you are finished close the first command prompt and type exit; in the second command prompt windows to disconnect successfully. You can now start the MySQL service.

不过按照上面这样解决在我的WIN7电脑上执行UPDATE user SET Password = PASSWORD('NEW_PASSWORD') WHERE User = 'root'; 命令时出现了另一个问题:
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
参考网址:
http://www.cnblogs.com/linchw3/p/5255800.html
晚上被这个问题折腾了好久,最后发现window下这个版本的mysql密码列是authentication_string,所以正确的写法是:
mysql>update mysql.user set authentication_string=password('123456') where user='root' and Host ='localhost';
问题解决
0 0
原创粉丝点击