mysql修改root密码

网上直接的 UPDATE user SET password=PASSWORD("new password") WHERE user='name'; 基本就是坑跌

使用本文方法修改成功!

 

方法一:

(适用于管理员或者有全局权限的用户重设其它用户的密码)
进入命令行模式
mysql -u root mysql 
mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='name';
  mysql> FLUSH PRIVILEGES;
  mysql> QUIT

方法二:
(应用同上,只是方法不同)
 mysql -u root mysql
  mysql> SET PASSWORD FOR name=PASSWORD('new password');
  mysql> QUIT 

(以上两种方法我不常用,如果是管理员,我会用其它如phpmyadmin或者MYSQL-front 等工具来管理用户权限,比较直观又方便)

最后必杀技:

mysqladmin -u root "old password" "new password"

解:以上有name的,请用你的用户名来替代.有new password请输入你想要设置的密码.

 

提示错误:No Database Selected后如何修改

 

C:\mysql\bin>mysql 

 -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4 to server version: 4.0.15-nt

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

mysql> update user set password=password('root') where user='root';
ERROR 1046: No Database Selected
mysql> use mysql
Database changed
mysql> select host,user from user;
+-----------+------+
| host      | user |
+-----------+------+
| %         |      |
| %         | root |
| localhost |      |
| localhost | root |
+-----------+------+
4 rows in set (0.02 sec)

mysql> update user set password=password('root') where user='root';
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2  Changed: 2  Warnings: 0

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

mysql> quit
Bye

C:\mysql\bin>mysql  -uroot
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)

C:\mysql\bin>mysql  -uroot -proot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6 to server version: 4.0.15-nt

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

mysql> quit
Bye

posted @ 2012-08-06 16:55  00000000O  阅读(196)  评论(0编辑  收藏  举报