正确重置MySQL密码
来源:互联网 发布:手机照片叠加软件 编辑:程序博客网 时间:2024/04/30 04:45
转载自:http://huoding.com/2011/06/12/85
如果你忘记了MySQL密码,如何重置它呢?
下面是错误答案:
首先停止MySQL服务,然后使用skip-grant-tables参数启动它:
shell> /etc/init.d/mysql stopshell> mysqld_safe --skip-grant-tables &
此时无需授权就可以进入到MySQL命令行,使用SQL重置MySQL密码:
UPDATE mysql.user 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> /etc/init.d/mysqld restart
上面的方法需要重启两次服务,实际上还能更优雅一点,重启一次即可:
首先需要把用到的SQL语句保存到一个文本文件里(/path/to/init/file):
UPDATE mysql.user SET Password=PASSWORD('...') WHERE User='...' AND Host= '...';FLUSH PRIVILEGES;
接着使用init-file参数启动MySQL服务,
shell> /etc/init.d/mysql stopshell> mysqld_safe --init-file=/path/to/init/file &
此时,密码就已经重置了,最后别忘了删除文件内容,免得泄露密码。
提示:本文用到的参数都是通过命令行mysqld_safe传递的,实际上也可以通过my.cnf。
参考:关于重置密码,官方文档里有专门的描述:How to Reset the Root Password。
- 正确重置MySQL密码
- 正确重置MySQL密码
- 正确重置MySQL密码
- 正确重置MySQL密码
- [31期] 正确重置MySQL密码
- 正确重置msyql密码
- 【mysql 重置密码】快速重置mysql密码
- 重置MySQL ROOT密码
- MySQL密码重置
- mysql root密码重置
- mysql重置root密码
- 重置mysql密码
- mysql 重置root密码
- mysql重置root密码
- Mysql重置root密码
- mysql密码重置
- 重置mysql root 密码
- mysql重置密码
- 教你如何成为一名不合格的程序员
- Android app项目开发步骤总结
- (转)Windows下下载全部Android源码
- 迭代开发过程及一些原则
- iPhone 路径大全
- 正确重置MySQL密码
- DataGrid自定义右键
- 从A到Z来说说Web开发
- 第一章 关于对象
- C# 值类型和引用类型的内存管理
- 为什么用VC++6.0时点打开文件时总弹出“ox5003eaed”指令引用的“ox00000000”内存。该内存不能为“read”
- NDK: No implementation found for native
- VS的多线程调试问题
- window 下 mysql 启动 二进制日志文件