Chinaunix首页 | 论坛 | 博客
  • 博客访问: 30467354
  • 博文数量: 708
  • 博客积分: 12163
  • 博客等级: 上将
  • 技术积分: 8240
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-04 20:59
文章分类

全部博文(708)

分类: Mysql/postgreSQL

2008-07-01 16:29:42

首先要声明一点,大部分情况下,修改MySQL是需要有mysql里的root权限的, 所以一般用户无法更改密码,除非请求管理员。

方法一使用phpmyadmin,这是最简单的了,修改mysql库的user表, 不过别忘了使用PASSWORD函数。

方法二使用mysqladmin,这是前面声明的一个特例。 mysqladmin -u root -p password mypasswd 输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。把命令里的root改为你的用户名,你就可以改你自己的密码了。 当然如果你的mysqladmin连接不上mysql server,或者你没有办法执行mysqladmin, 那么这种方法就是无效的。 而且mysqladmin无法把密码清空。下面的方法都在mysql提示符下使用,且必须有mysql的root权限:

方法三 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口令加密的同样方法施行口令加密。

 

use mysql
  update user set Password=password('newpassword') where User='root';
  flush privileges;

  1.通过修改MYSQL数据库中MYSQL库的USER表
         就用普通的UPDATE、INSERT语句就可以

  2.在命令行中使用如下命令
         MYSQLADMIN -u root -p PASSWORD mypasswd

  3.可以修改MYSQL文件夹中的MY.INI文件

  4.使用SET PASSWORD语句,
  mysql> SET PASSWORD FOR myuser@localhost = PASSWORD('mypasswd');

  5.使用GRANT ... IDENTIFIED BY语句
  mysql> GRANT USAGE ON *.* TO myuser@localhost IDENTIFIED BY 'mypassw

 

修改root的密码可以用mysql自带的MySQL Server Instance Config Wizard

阅读(1937) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~