本帖最后由 灰儿 于 2009-6-17 21:49 编辑
首先要声明一点,大部分情况下,修改MySQL是需要有mysql里的root权限的,所以一般用户无法更改密码,除非请求管理员。
方法一:
使用phpmyadmin,服务器端web目录需要放置phpmyadmin脚本程序。
用ROOT的用户登陆(其他帐号登陆没有权限执行这项的)
服务器-权限-root或其它用户-编辑权限-更改密码-密码-输入密码-执行
方法二:
最简单的方法就是使用mysqladmin命令,如下简单描述:
1.例如你的root用户现在没有密码,你希望的密码修改为123,那么命令是:
mysqladmin -u root password 123
2.如果你的root现在有密码了,那么修改密码为123的命令是:
mysqladmin -u root -p password 123
注意,命令回车后会问你旧密码,输入旧密码之后命令完成,密码修改成功。
当然如果你的mysqladmin连接不上mysql server,或者你没有办法执行mysqladmin,
那么这种方法就是无效的。
而且mysqladmin无法把密码清空。
接下来使用的方法都在mysql提示符下使用,且必须有mysql的root权限:
方法三:
cmd下切换到 mysql 安装目录
例
d:/mysql/bin
前提:mysql用户root密码为空.
输入 mysql -u root mysql
mysql> 状态下输入 update user set password=password('新密码') where user='root';
回显:
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> 状态下输入 FLUSH PRIVILEGES;
回显:
Query OK, 0 rows affected (0.00 sec)
mysql> 状态下输入 quit
退出 sql
注意每个命令后都要加上一个分号 ";"
mysql 才开始执行该行命令
方法四:
mysql> INSERT INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES
确切地说这是在增加一个用户,用户名为jeffrey,密码为biscuit。
在《mysql中文参考手册》里有这个例子,所以我也就写出来了。
注意要使用PASSWORD函数,然后还要使用FLUSH PRIVILEGES。
方法五:
和方法三一样,只是使用了REPLACE语句
mysql> REPLACE INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES
方法六:
使用SET PASSWORD语句,
mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD('biscuit');
你也必须使用PASSWORD()函数,
但是不需要使用FLUSH PRIVILEGES。
方法七:
使用GRANT ... IDENTIFIED BY语句
mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit';
这里PASSWORD()函数是不必要的,也不需要使用FLUSH PRIVILEGES。
注意: PASSWORD() [不是]以在Unix口令加密的同样方法施行口令加密。 |
|