正确重置密码的方法(重设密码)

lxf2023-11-20 21:00:01

如果忘记了MySQL密码,怎么重置?以下是错误答案:先停止MySQL服务,然后用skip-grant-tables参数启动:shellgt/

谁都不愿意自己的房子钥匙丢了,但是再小心,时间长了这样的事情还是会发生几次。MySQL密码也是一样,写在文档上不太安全,难免会忘在脑子里。

如果忘记了MySQL密码,怎么重置?

以下是错误答案:

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

shell >/etc/init . d/MySQL stop shell > mysqld _ safe-skip-grant-tables &此时,您可以在没有授权的情况下进入MySQL命令行,使用SQL重置MySQL密码:

更新mysql.user SET Password=PASSWORD(' ... '))其中用户= ' ... '而Host= ' ... ';刷新权限;为什么是错误答案?因为在使用skip-grant-tables参数启动服务后,除非数据库服务器阻止对外部网络的访问,否则其他别有用心的人也可能访问数据库。虽然重设密码需要很短的时间,但俗话说,贼怕偷,任何一个失误都可能酿成大祸。

以下是正确答案:

关键是:在使用skip-grant-tables参数时,我们还应该添加skip-networking参数:

shell > mysqld _ safe-skip-grant-tables-skip-networking &使用SQL重置密码后,记得删除skip-networking并以正常方式重启MySQL服务:

shell >/etc/init . d/mysqld restart以上方法需要重启服务两次。其实可以更优雅,重启一次就好:

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

更新mysql.user SET Password=PASSWORD(' ... '))其中用户= ' ... '而Host= ' ... ';刷新权限;然后用init-file参数启动MySQL服务,

shell >/etc/init . d/mysqld stop shell > mysqld _ safe-init-file =/path/to/init/file &此时,密码已经被重置。最后,不要忘记删除文件内容,以免泄露密码。

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

参考:关于重置密码,官方文档中有专门的描述:如何重置Root密码。

adminjs.cn是一个以CSS、JavaScript、Vue、HTML为核心的前端开发技术网站。我们致力于为广大前端开发者提供专业、全面、实用的前端开发知识和技术支持。 在本网站中,您可以学习到最新的前端开发技术,了解前端开发的最新趋势和最佳实践。我们提供丰富的教程和案例,让您可以快速掌握前端开发的核心技术和流程。 Adminjs.cn还提供一系列实用的工具和插件,帮助您更加高效地进行前端开发工作。我们提供的工具和插件都经过精心设计和优化,可以帮助您节省时间和精力,提升开发效率。 在Adminjs.cn中,您可以找到您需要的一切前端开发资源,让您成为一名更加优秀的前端开发者。欢迎您加入我们的大家庭,一起探索前端开发的无限可能!