MySQL Root密码丢失解决方法总结
1. 检查my.cnf,看看有没有密码......靠这也算一条啊
2. 如果能够重启,
首先使用–skip-grant-tables参数重启,然后改密码,再去掉–skip-grant-tables参数重启, 注意–skip-grant-tables的安全问题http://code.openark.org/blog/mysql/dangers-of-skip-grant-tables, 根据火丁笔记http://huoding.com/2011/06/12/85,还需要加上--skip-networking
$ mysqld_safe --skip-grant-tables --skip-networking &
接着使用SQL重置密码后,记得去掉skip-networking,以正常方式重启MySQL服务:
$ /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服务,
$ /etc/init.d/mysql stop
$ mysqld_safe --init-file=/path/to/init/file &
此时,密码就已经重置了,最后别忘了删除文件内容,免得泄露密码。
3.on linux / unix ONLY
$ cd data/mysql
$ cp -rp user.MYD bck_user.MYD_`date +%Y%m%d`cp -rp user.MYD /tmp/user.MYD
$ vi /tmp/user.MYD #(edit the hashed passwords next to root*)cp -rp /tmp/user.MYD user.MYD
$ sudo kill -HUP `pidof mysqld`
4.using an init-file
4.这里还有个第四点 using an init-file, which leads to just one restart of the database instead of two. It also avoids the security issue involved with using skip-grant-tables.
5.如果你在MySQL里边,那么可选择的办法就太多了
参考 <http://www.cnblogs.com/rootq/archive/2009/05/13/1456335.html>
最新文章
- Eclipse c++头文件问题(未完)
- LabView中,下拉列表和枚举有什么区别?
- 2008年我买了一本书 书名叫“PHP 6”
- hdu 2639 Bone Collector II
- 【C/C++多线程编程之九】pthread读写锁
- php之array_column 的使用
- centos7安装docker并设置开机自启以及常用命令
- [算法竞赛入门经典]Message Decoding,ACM/ICPC World Finals 1991,UVa213
- 两种方法上传本地文件到github(转)
- rpm包与 yum 安装与卸载
- 深入浅出Git教程【转载】转载
- JavaScript 系列博客(二)
- 在windows上安装redis并设置密码
- Linux+DDoS deflate 预防DDoS攻击
- oracle sql developer怎么创建用户
- django之http
- Ibatis.Net 动态SQL语句学习(六)
- Git之修复Bug流程
- Asp.net core 项目实战 新闻网站+后台 源码、设计原理 、视频教程
- 通过css使文字有渐变的效果
热门文章
- BZOJ3083 遥远的国度 【树链剖分】
- ambassador kubernetes native api gateway
- php基础语法(变量)
- 连接linux
- bzoj 3779 重组病毒——LCT维护子树信息
- promise的学习心得记录
- Ubuntu 16.04配置OpenGL教程
- Protobuff java 文件生成命令
- mysql字符集和校对规则(Mysql校对集)
- Python模块包(pycharm右键创建文件夹和python package的区别)中__init__.py文件的作用