MySQL中修改密码方法总结

来源:岁月联盟 编辑:zhuzhu 时间:2006-10-11
  首先要说明一点的是:一般情况下,修改MySQL密码是需要有里的root权限的,这样一般用户是无法更改密码的,除非请求管理员帮助修改。
  
  方法一
  使用phpMyAdmin
  
  (图形化管理MySql数据库的工具),这是最简单的,直接用SQL语句修改数据库库的user表,不过别忘了使用PASSWORD函数,插入用户用Insert命令,修改用户用Update命令,删除用Delete命令。在本节后面有数据表user字段的详细介绍。
  
  方法二
  使用admin。输入
  
  admin -u root -p oldpassword newpasswd
  
  执行这个命令后,需要输入root的原密码,这样root的密码将改为newpasswd。同样,把命令里的root改为你的用户名,你就可以改你自己的密码了。
  
  当然如果你的admin连接不上
  
  server,或者你没有办法执行admin,那么这种方法就是无效的,而且admin无法把密码清空。
  
  下面的方法都在提示符下使用,且必须有的root权限:
  
  方法三
  > INSERT INTO .user (Host,User,Password) VALUES
  
  ('%','system', PASSWORD('manager'));
  
  > FLUSH PRIVILEGES
  
  确切地说这是在增加一个用户,用户名为system,密码为manager。注意要使用PASSWORD函数,然后还要使用FLUSH
  
  PRIVILEGES来执行确认。
  
  方法四
  和方法三一样,只是使用了REPLACE语句
  
  > REPLACE INTO .user (Host,User,Password)
  
  VALUES('%','system',PASSWORD('manager'));
  
  > FLUSH PRIVILEGES
  
  方法五
  使用SET PASSWORD语句
  
  > SET PASSWORD FOR system@"%" = PASSWORD('manager');
  
  你也必须使用PASSWORD()函数,但是不需要使用FLUSH PRIVILEGES来执行确认。
  
  方法六
  使用GRANT ... IDENTIFIED BY语句,来进行授权。
  
  > GRANT USAGE ON *.* TO system@"%" IDENTIFIED BY 'manager';
  
  这里PASSWORD()函数是不必要的,也不需要使用FLUSH PRIVILEGES来执行确认。
  
  注:PASSWORD()函数作用是为口令字加密,在程序中MySql自动解释。