首先要说明一点的是:一般情况下,修改 MySQL 密码是需要有 mysql 里的 root 权限的,这样一般用户是无法更改密码的,除非请求管理员帮助修改。

方法一

使用 phpMyAdmin ( 图形化管理 MySql 数据库的工具 ) ,这是最简单的,直接用 SQL 语句修改 mysql 数据库库的 user 表,不过别忘了使用 PASSWORD 函数,插入用户用 Insert 命令,修改用户用 Update 命令,删除用 Delete 命令。在本节后面有数据表 user 字段的详细介绍。

方法二

使用 mysqladmin 。输入

mysqladmin -u root -p oldpassword newpasswd

比如楼主的密码:
mysqladmin -u root -p password ab12

执行这个命令后,需要输入 root 的原密码,这样 root 的密码将改为 newpasswd 。同样,把命令里的 root 改为你的用户名,你就可以改你自己的密码了。 当然如果你的 mysqladmin 连接不上 mysql server ,或者你没有办法执行 mysqladmin ,那么这种方法就是无效的,而且 mysqladmin 无法把密码清空。

下面的方法都在 mysql 提示符下使用,且必须有 mysql root 权限:

方法三

mysql> INSERT INTO mysql.user (Host,User,Password) VALUES (’%’,’system’, PASSWORD(’manager’));
mysql> FLUSH PRIVILEGES

确切地说这是在增加一个用户,用户名为 system ,密码为 manager 。注意要使用 PASSWORD 函数,然后还要使用 FLUSH PRIVILEGES 来执行确认。

方法四

和方法三一样,只是使用了 REPLACE 语句

mysql> REPLACE INTO mysql.user (Host,User,Password)
VALUES(’%’,’system’,PASSWORD(’manager’));
mysql> FLUSH PRIVILEGES

方法五

使用 SET PASSWORD 语句

mysql> SET PASSWORD FOR system@"%" = PASSWORD(’manager’);

你也必须使用 PASSWORD() 函数,但是不需要使用 FLUSH PRIVILEGES 来执行确认。

方法六

使用 GRANT ... IDENTIFIED BY 语句,来进行授权。

mysql> GRANT USAGE ON *.* TO system@"%" IDENTIFIED BY ’manager’;

这里 PASSWORD() 函数是不必要的,也不需要使用 FLUSH PRIVILEGES 来执行确认。

注: PASSWORD() 函数作用是为口令字加密,在程序中 MySql 自动解释。