MySQL和其他数据库一样,出于对安全的考虑,对不同的用户授予不同的权限。下文介绍的是一些MySQL修改密码的方法,供您参考。
首先要说明一点的是:一般情况下,MySQL修改密码是需要有mysql里的root权限的,这样一般用户是无法实现MySQL修改密码的,除非请求管理员帮助修改。
MySQL修改密码的方法:
方法一
使用phpMyAdmin (图形化管理MySql数据库的工具),这是最简单的,直接用SQL语句修改mysql数据库库的user表,不过别忘了使用PASSWORD函数,插入 用户用Insert命令,修改用户用Update命令,删除用Delete命令。在本节后面有数据表user字段的详细介绍。
方法二
使用mysqladmin。输入mysqladmin -u root -p oldpassword newpasswd执行这个命令后,需要输入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自动解释。
以上就是MySQL修改密码的方法介绍。