[linux/windows]mysql修改密码

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 ]

Work for fun,Live for love!

windows下mysql忘记root密码的解决方法

Windows解决方案
方法一:

1、在DOS窗口下输入net stop mysql5net stop mysql

2、开一个DOS窗口,这个需要切换到mysql的bin目录。
一般在bin目录里面创建一个批处理1.bat,内容是cmd.exe运行一下即可就切换到当前目录,然后输入

mysqld-nt --skip-grant-tables; 

mysqld --skip-grant-tables;

不要关闭窗口
3、再开一个DOS窗口,mysql -u root

4、输入:
复制代码 代码如下:

use mysql 
update user set password=password("new_pass") where user="root"; 
flush privileges; 
exit 

5、使用任务管理器,找到mysqld-nt的进程,结束进程
或下面的步骤
1,停止MYSQL服务,CMD打开DOS窗口,输入 net stop mysql
2,在CMD命令行窗口,进入MYSQL安装目录 比如E:\Program Files\MySQL\MySQL Server 5.0\bin
示范命令:
输入 e:回车,
输入cd "E:\Program Files\MySQL\MySQL Server 5.0\bin"
注意双引号也要输入,这样就可以进入Mysql安装目录了.
3,进入mysql安全模式,即当mysql起来后,不用输入密码就能进入数据库。
命令为: mysqld-nt –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 这个进程,重新启动MYSQL即可!(也可以直接重新启动服务器)
MYSQL重新启动后,就可以用新设置的ROOT密码登陆MYSQL了!
方法二:

首先在 MySQL的安装目录下 新建一个pwdhf.txt, 输入文本:SET PASSWORD FOR 'root'@'localhost' = PASSWORD('*****');

红色部份为 需要设置的新密码
用windows服务管理工具或任务管理器来停止MySQL服务 (任务管理器K掉 mysqld-nt 进程)
Dos命令提示符到 MySQL安装目录下的bin目录 如我的是 D:\Program Files\MySQL\MySQL Server 5.1\bin
然后运行: mysqld-nt --init-file=../pwdhf.txt
执行完毕 停止MySQL数据库服务 (任务管理器K掉 mysqld-nt 进程),然后再重新以正常模式启动MYSQL 即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值