Home >Database >Mysql Tutorial >MySQL:"怎样重新设置一个忘记的口令",这_MySQL

MySQL:"怎样重新设置一个忘记的口令",这_MySQL

WBOY
WBOYOriginal
2016-06-01 13:56:24960browse

如果你忘记了MySQL的root用户的口令,你可以用下列过程恢复它。

kill `cat /mysql-data-directory/hostname.pid`
使用--skip-grant-tables选项重启mysqld。

用mysql -h hostname mysql连接mysqld服务器并且用一条GRANT命令改变口令。也可以用mysqladmin -h hostname -u user password 'new password' 进行。

这是从baidu,google上能搜索到的,其实也是MySQL手册中(8.9 怎样重新设置一个忘记的口令),所提到了,但我这次在windows 下却失败了...


如果你忘记了MySQL的root用户的口令,你可以用下列过程恢复它。

通过发送一个kill(不是kill -9)到mysqld服务器来关闭mysqld服务器。pid 被保存在一个.pid文件中,通常在MySQL数据库目录中:
kill `cat /mysql-data-directory/hostname.pid`
你必须是一个UNIX root用户或运行服务器的相同用户做这个。

使用--skip-grant-tables选项重启mysqld。
用mysql -h hostname mysql连接mysqld服务器并且用一条GRANT命令改变口令。见7.26 GRANT和REVOKE句法。你也可以用mysqladmin -h hostname -u user password 'new password' 进行。
用mysqladmin -h hostname flush-privileges或用SQL命令FLUSH PRIVILEGES来装载权限表

这是从baidu,google上能搜索到的,其实也是MySQL手册中(8.9 怎样重新设置一个忘记的口令),所提到了,但我这次在windows 下却失败了...

因为我只有一个用户:select user,host from user时

| root | localhost |

后来我用update user set password=PASSWORD('');      可是我用错了,我用成了:update user set password='';

突然退出后,再登录就无法登录了,真是没法啊.

按以上的步骤进行到mysqld --skip-grant-tables后无报错,但mysql还是没有启动,所以无法用后面的mysql登录,因为此时3306都没有打开.

无可赖何之下只得重装它(教训!).

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn