首页 » my » 正文

windows: Access denied for user 'root'@'localhost'

WINDOWS 系统

提示:access denied for user 'root'@'localhost' using password yes

1. 管理员登陆系统,停止 MySQL 服务或者结束 MySQL 进程。

2. 启动 WINDOWS 的命令行窗口(即通常的 DOS 窗口),切换到你的 “MySQLbin” 目录下,命令行下面的粗体的命令:
mysqld –defaults-file="c:windowsmy.ini" –console –skip-grant-tables
090801 4:43:54 InnoDB: Started; log sequence number 0 585546
090801 4:43:54 [ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist
090801 4:43:54 [Note] mysqld: ready for connections.
Version: '5.1.22-rc-community' socket: '' port: 3306 MySQL Community Server (GPL)
_

只要出现下面信息,就说明 MySQL 已经起来了。

Version: '5.1.22-rc-community' socket: '' port: 3306 MySQL Community Server (GPL)

3. 不关闭此命令行窗口,重新打开一个命令行窗口,同样切到 “mysqlbin” 目录下,然后执行下面的粗体的命令:
mysql -u root mysql
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1
Server version: 5.1.22-rc-community MySQL Community Server (GPL)

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql>
mysql>
mysql> UPDATE user SET Password=PASSWORD('mynewpass') where USER='root';
Query OK, 2 rows affected (0.05 sec)
Rows matched: 2 Changed: 2 Warnings: 0

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.02 sec)

mysql> quit
Bye

4. 好了到此步,可以关闭第一个 DOS 窗口了。打开系统服务控制窗口(控制面板–管理工具–服务),启动 MySQL 服务。