Chinaunix首页 | 论坛 | 博客
  • 博客访问: 220677
  • 博文数量: 70
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 440
  • 用 户 组: 普通用户
  • 注册时间: 2015-08-09 09:16
个人简介

淡泊以明志,宁静以致远。

文章分类

全部博文(70)

分类: Mysql/postgreSQL

2015-09-16 10:58:51

Linux下MySQl的root密码忘记的解决方法

1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。 

因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 
状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对 
外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全 
状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。 
2.修改MySQL的登录设置: 
# vi /etc/my.cnf 
在[mysqld]的段中加上一句:skip-grant-tables 
例如: 
[mysqld] 
datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 
skip-grant-tables 
保存并且退出vi。 
3.重新启动mysqld 
# /etc/init.d/mysqld restart 
Stopping MySQL: [ OK ] 
Starting MySQL: [ OK ] 
4.登录并修改MySQL的root密码 
# /usr/bin/mysql 
Welcome to the MySQL monitor. Commands end with ; or \g. 
Your MySQL connection id is 3 to server version: 3.23.56 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 
mysql> USE mysql ; 
Reading table information for completion of table and column names 
You can turn off this feature to get a quicker startup with -A 
Database changed 
mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ; 
Query OK, 0 rows affected (0.00 sec) 
Rows matched: 2 Changed: 0 Warnings: 0 
mysql> flush privileges ; 
Query OK, 0 rows affected (0.01 sec) 
mysql> quit 
Bye 
5.将MySQL的登录设置修改回来 
# vi /etc/my.cnf 
将刚才在[mysqld]的段中加上的skip-grant-tables删除 
保存并且退出vi。 
6.重新启动mysqld 
# /etc/init.d/mysqld restart 
Stopping MySQL: [ OK ] 
Starting MySQL: [ OK ]

转自:http://www.cnblogs.com/allenblogs/archive/2010/08/12/1798247.html



Windows
MySQl的root密码忘记的解决方法
方法一:
1,停止MYSQL服务,CMD打开DOS窗口,输入
net stop mysql 
2,在CMD命令行窗口,进入MYSQL安装目录 比如D:\Program Files\MySQL\MySQL Server 5.0\bin 
示范命令: 
输入 D:回车, 
输入 cd "D:\Program Files\MySQL\MySQL Server 5.0\bin
注意双引号也要输入,这样就可以进入Mysql安装目录了. 
或者直接在windows的path变量中设置mysql的路径:右击我的计算机,选属性—高级—环境变量—系统变量的path
3,进入mysql安全模式,即当mysql起来后,不用输入密码就能进入数据库。 
命令为: 
mysqld -nt --skip-grant-tables 
mysqld --skip-grant-tables
4,重新打开一个CMD命令行窗口,输入mysql -uroot -p,使用空密码的方式登录MySQL(不用输入密码,直接按回车) 
5,输入以下命令开始修改root用户的密码(注意:命令中mysql.user中间有个“点”) 
mysql> update mysql.user set password=PASSWORD('新密码') where User='root'; 
6,刷新权限表 
mysql> flush privileges; 
7,退出 
mysql> quit 
这样MYSQL超级管理员账号 ROOT已经重新设置好了,接下来 在任务管理器里结束掉 mysql-nt.exe/mysqld.exe这个进程,重新启动MYSQL即可!(也可以直接重新启动服务器) 
MYSQL重新启动后,就可以用新设置的ROOT密码登陆MYSQL了! 

方法二: 
首先在 MySQL的安装目录下 新建一个pwdhf.txt, 输入文本:SET PASSWORD FOR 'root'@'localhost' = PASSWORD('*****'); 
红色部份*****为 需要设置的新密码 
用windows服务管理工具或任务管理器来停止MySQL服务 (任务管理器K掉 mysqld-nt / mysqld.exe 进程) 
Dos命令提示符到 MySQL安装目录下的bin目录 如我的是 D:\Program Files\MySQL\MySQL Server 5.1\bin 
然后运行: mysqld -nt --init-file=../pwdhf.txt 
执行完毕 停止MySQL数据库服务 (任务管理器K掉 mysqld-nt / mysqld.exe进程),然后再重新以正常模式启动MYSQL即可。

以上内容参考转自互联网。
阅读(1343) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~