恢复MySQL密码说明

恢复MySQL密码说明
回顾:因为MySQL密码存储在数据库MySQL中的用户表中。

因此,只需在我的Windows 2003的MySQL中复制用户表并将其覆盖。

有三的用户表的相关文件,user.frm,user.myd,user.myi在C:mysqldatamysql(Linux通常在/ var / lib / / / MySQL MySQL)目录

user.frm / /用户表样式的文本

因为MySQL密码存储在数据库MySQL中的用户表中。

因此,只需在我的Windows 2003的MySQL中复制用户表并将其覆盖。

有三的用户表的相关文件,user.frm,user.myd,user.myi在C: MySQL 数据 MySQL (Linux一般在/ var / lib / / / MySQL MySQL)目录

user.frm / /用户表样式文件

user.myd / /用户表数据文件

user.myi / /用户表的索引文件

为保险起见,三份拷贝,但事实上,如果没有更改表结构对MySQL已经恢复之前,只是复制user.myd。

然后#。

#。

# MySQL U P xxxxxx根

好的,你可以使用Windows 2003 MySQL密码登录

使用mysql

MySQL >更新用户设置密码,密码(xxxxxx)用户= 'root;

此时会出现一个错误提示用户表只能读取权限
我分析了原因,仅此而已,因为用户*文件的权限分配是Windows 2003,而在Windows 2003,我的L l一个视图是666

在Linux中我看到,复制后允许为600(实际上在正常情况下,600就行了,但这里不是主MySQL文件,复制所有者到root,所以会有足够的权限,如果可以更改权限为666,那么当没有好的,没有实际问题解决),下一步我又看了一遍。

# chown -R MySQL:MySQL用户*。

# chmod 600 *用户。

OK,完成了

回到MySQL

重新连接

使用mysql

MySQL >更新用户设置密码,密码(xxxxxx)用户= 'root;

刷新权限;

有一点需要注意的是,如果您的Windows MySQL是默认配置,请注意它。

用户>用户>;

从用户中删除主机=%;

刷新权限;

那么,在这里恢复密码的过程已经完成

这个方法有点有限,您必须有另一个用户表文件。
还有其他几种方法
其他方法之一(这是Internet上广泛使用的方法,在mysql中文参考手册中)

1。发送kill命令到mysqld服务关闭mysqld服务器(不杀- 9),和进程ID存储的文件通常在目录里的MySQL数据库位于。

长期killall mysqld

您必须是UNIX的根用户或运行在您的服务器上的同一用户来执行操作

2。使用` -- skip-grant-tables'parameter启动mysqld。( / usr /斌/ safe_mysqld --跳过授权表的linux下的C: MySQL 仓 mysqld -跳过授权表在Windows)
三.然后不用密码登陆到mysqld服务器,

>使用MySQL

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

>刷新权限;

。你能做到的,也` mysqladmin - H主机-用户password'new密码。
4。负荷的权限表:` mysqladmin - H主机冲洗特权,或`冲水特权使用SQL命令。

5.killall长期mysqld

6。使用新密码登陆
其他的方法
编辑user.myd文件直接与116波段编辑
但是这个我得说,我在这里编辑时间发现了一个问题,加密的密码被存储在一些连续的,一些最后的两个被切断后,两个存储在后面的其他地方。我不想明白。注意,编译是加密的密码字符串,也就是说你需要另一个用户文件,这种方法与我前面介绍的方法的不同之处在于,这种方法在Linux下直接编辑用户表文件,因此不需要重新修改文件。

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部