MySQL忘记密码怎么办 如何找回密码

如果运行MySQL,mysqld首先杀掉: killall -TERM mysqld。

启动MySQL:bin / safe_mysqld跳过-grant-tables &

这时MySQL可以不需要输入密码。

还有就是

>使用mysql

用户设置密码= >更新密码(“new_pass”),用户=“根”;

>冲洗特权;

杀死MySQL,启动MySQL在正常的方式。

mysql密码空

窗口:

1。使用系统管理员登录系统。

2。停止MySQL服务。

3。输入的命令窗口,然后到MySQL安装目录,比如我的安装目录是c:MySQL,在数据库输入c:

4。跳过权限检查启动MySQL,

C:数据库在> mysqld – nt -跳过-grant-tables &

5。打开一个窗口,在数据库目录输入输入c:,设置新的根密码

C:数据库在> mysqladmin – u root冲洗——特权密码“newpassword”

C:数据库在> mysqladmin – u root – p关闭

Newpassword将取代您想要使用的根密码,下面的命令将提示您输入一个新密码,重复第一个命令输入密码。

6。停止MySQL服务器,启动MySQL与正常模式

7。您可以使用新密码链接到Mysql。

unix和linux:

在根或运行mysqld用户登录系统;

2。使用kill命令结束mysqld过程;

3。使用-跳过-格兰特-表参数启动MySQL服务器

壳> mysqld_safe跳过-格兰特表&

4。设置一个新的密码

壳>根冲洗mysqladmin – u -特权密码“newpassword”

5。重新启动MySQL服务器

mysql密码更改

Mysql修改,可以执行在Mysql命令行如下:

Mysql – u root Mysql

Mysql >更新用户设置密码=密码(“新密码”),用户=“名称”;

Mysql >冲洗特权;

Mysql >退出

教你如何把MySQL数据库密码恢复

由于MySQL MySQL用户表密码存储在数据库中,所以我只需要复制用户表在MySQL Windows 2003覆盖。

在c:mysqldatamysql(Linux通常在/ var / lib / mysql / mysql /)有三个用户目录表文档用户。,用户。MYD、用户。myi

用户。纳/ /用户表的样式文件

用户。MYD / /用户表数据文件

用户。MYI / /用户表的索引文件

安全起见,三个被复制,但事实上,如果没有变化对MySQL恢复表结构之前,只要用户的副本。的MYD

然后

#。/ etc / rc。D / init。D / mysql停止

#。/ etc / rc。D / init。D / mysql开始

# mysql – u root – p XXXXXX

好了,可以使用mysql密码登陆Windows 2003下

Mysql >使用Mysql

Mysql >更新用户设置密码=密码(“XXXXXX”),用户=“根”;

这个时间会出错,提示用户表只有读权限

我分析的原因,只有这样,因为用户。*文件权限分配是在Windows 2003和Windows 2003 ls – l我看到访问是666

在Linux下,我明白了,拷过来后,权限是600(实际600线正常情况下,只有文件所有者在这里不是一个mysql,拷过来后,主人为根,所以会有不足够的权限,如果你要做的就是666年访问,当然,这是不好的,不是物质)为了解决这个问题,在/ var / lib / mysql / mysql / ls – l再次看了看画

#乔恩- r mysql:mysql用户。*

# chmod 600用户。*

/ /好吧,完成

重新启动MYSQL

重新连接

Mysql >使用Mysql

Mysql >更新用户设置密码=密码(“XXXXXX”),用户=“根”;

Mysql >冲洗特权;

注意一点:如果你在Windows mysql,如果是默认配置,关注执行

Mysql >删除从用户,用户=‘;

Mysql >删除从用户的主机=‘%’;

Mysql >冲洗特权;

哦,在这里恢复您的密码过程完成

这种方法有点限制,还必须有其他用户表文件

也有其他一些方法

其他方法(该方法在互联网上广为流传,mysql)在中国的参考手册

1。发送kill命令mysqld服务器关掉mysqld服务器(不是kill – 9),将进程ID文件通常存储在MYSQL数据库目录。

mysqld Killall——术语

你一定是根用户或UNIX服务器由相同的用户,以执行该操作。

2。使用“跳过-格兰特表”参数mysqld开始。LINUX下:

/ usr / bin / safe_mysqld跳过-格兰特表,Windows下c:mysqlinmysqld跳过-格兰特表

3。然后无密码登录到mysqld服务器,

>使用mysql

用户设置密码= >更新密码(“new_pass”),用户=“根”;

>冲洗特权;

你也可以这样做:

Mysqladmin – h主机名- u用户密码”“新密码”

4。加载权限列表:

Mysqladmin – h主机名冲洗——特权”

或使用SQL命令

冲洗特权”

5。mysqld Killall——术语

6。用一个新的密码

另一种方法2

直接用十六进制编辑器来编辑用户。MYD文件

但这我想清楚,我发现一个问题,当我编辑在这里,一些加密的密码字符串存储在连续的两个被削减,后面两个是存储在其他地方。在那之后我不想明白。还要注意,编辑是加密的密码字符串,也就是说,你还需要其他用户表文件。这种方法和我介绍的方法不同,该方法直接编辑在Linux用户表文件,不需要改变文件所有者和权限

改正:我的实际运行Windows下如下

1。关闭正在运行的MySQL。

2。打开一个DOS窗口,转向数据库在目录。

3。输入

Mysqld – nt -跳过grant-tables &

按回车。如果您没有看到任何信息,这是正确的。

4。DOS窗口打开DOS窗口(因为刚才一直动不了),去数据库在目录中。

5。输入mysql输入,如果成功,将会出现mysql提示>

6。连接访问数据库

>使用mysql;

(>已经一些提示,不要忘记最后的分号)

6。更改密码:

用户设置密码= >更新密码(“123456”),用户=“根”;(别忘了最后的分号)

7。刷新权限(必须)

>冲洗特权;

8。辞职

>问

9。注销系统,然后进入,MySQL,使用用户名根和123456登陆再设置新密码。


标签:  | 


顶部