Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1379777
  • 博文数量: 247
  • 博客积分: 10147
  • 博客等级: 上将
  • 技术积分: 2776
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-24 15:18
文章分类

全部博文(247)

文章存档

2013年(11)

2012年(3)

2011年(20)

2010年(35)

2009年(91)

2008年(87)

我的朋友

分类: Mysql/postgreSQL

2008-11-04 11:11:37

前言:最近又重新用了几个不常用的Mysql,结果因为记录不是很完整,最高管理的账号密码不记得了,但里面的数据又比较重要不想重新装。正好一个Linux下一个Windows下。让我碰全了。在网上,我查了下资料,有些啰嗦不简洁,有些简单无解释。以下介绍两个系统平台下的解决办法。
                                                                      Author:Ajian
[windows]
1、停止mysql服务:打开命令行窗口CMD,Net stop mysql
2、用另外一种方式启动Mysql:在命令行进入到mysql的安装路径下的bin目录下使用mysqld-nt.exe启动:mysqld-nt --skip-grant-tables
   注意:此时CMD窗口不能关闭。
3、进入Mysql:另外打开一个命入令行窗口,在bin目录下执行mysql,此时无需输入密码即可进入。
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
>exit
   注意:1)如果对sql语句熟悉的话,update这句就不用解释了第一个User是表名、第二个User是表中的字段。第一个Password是表中的字段,第二个Password()是加密用的函数。new_pass是要更改的密码。
        2)flush privileges可以不用添加。但是如果添加了,一定要注意Host字段不能是Localhost。因为用了这个之后就不能用Localhost连接了。你可以把这个字段改成IP,或者通配符。
>update user set host="192.168.0.1" where user="root"
4、使用任务管理器,找到mysqld-nt的进程,结束进程!
5、重新启动mysql服务,net start mysql 就可以用新密码登录了。

[linux]
1、关闭Mysql: 如果 MySQL 正在运行,首先杀之 killall -TERM mysqld
2、另外的方法启动 MySQL :bin/safe_mysqld --skip-grant-tables &
3、可以不需要密码就进入 MySQL 了。
然后就是
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
   注意点同上
4、重新杀 MySQL ,用正常方法启动 MySQL 。
阅读(835) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~