您的位置 首页 > 数码极客

『如何重置mysql数据库密码』mysql如何选择数据库!

如果你忘记了MySQL密码,如何重置它呢?

下面是错误答案:

首先停止MySQL服务,然后使用skip-grant-tables参数启动它:

shell> /etc stop shell> mysqld_safe --skip-grant-tables &

此时无需授权就可以进入到MySQL命令行,使用SQL重置MySQL密码:

UPDATE my SET Password=PASSWORD('...') WHERE User='...' AND Host= '...'; FLUSH PRIVILEGES;

为什么说它是错误答案?因为在单纯使用skip-grant-tables参数启动服务后,除非数据库服务器屏蔽了外网访问,否则除了自己,其它别有用心的人也可能访问数据库,尽管重置密码所需的时间很短,但俗话说不怕贼偷就怕贼惦记着,任何纰漏都可能酿成大祸。

下面是正确答案:

关键点是:在使用skip-grant-tables参数的同时,还要加上skip-networking参数:

shell> mysqld_safe --skip-grant-tables --skip-networking &

接着使用SQL重置密码后,记得去掉skip-networking,以正常方式重启MySQL服务:

shell> /etcd restart

上面的方法需要重启两次服务,实际上还能更优雅一点,重启一次即可:

首先需要把用到的SQL语句保存到一个文本文件里(/path/to/init/file):

UPDATE my SET Password=PASSWORD('...') WHERE User='...' AND Host= '...'; FLUSH PRIVILEGES;

接着使用init-file参数启动MySQL服务,

shell> /etc stop shell> mysqld_safe --init-file=/path/to/init/file &

此时,密码就已经重置了,最后别忘了删除文件内容,免得泄露密码。

提示:本文用到的参数都是通过命令行mysqld_safe传递的,实际上也可以通过my.cnf。

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何重置mysql数据库密码,mysql如何选择数据库,如何安装mysql数据库,重置mysql数据库密码的方法,mysql怎么重置数据库,mysql数据库如何”边界阅读