mysql忘记密码(Linux和Windows中各自解决方法)

一)Windows:

1)以系统管理员身份登陆系统。

2)打开cmd-----net start 查看mysql是否启动,如果启动了就输入net stop mysql命令停
  止mysql服务

3)进入mysql安装路径的bin目录下 d:\usr\local\mysql4\bin 

4) 在命令行输入 mysqld --skip-grant-tables启动mysql服务(服务器将不加载权限判断,
    任何用户都能访问数据库)。此命令运行之后,用户无法再输入指令,此时如果在任务管理器中
    可以看到名称为 mysqld的进程,则表示可以用root用户登录服务器了。
注:我如果安装的是MySQL8.0版本的,mysqld --skip-grant-tables没有效果,需要
    输入mysqld --shared-memory --skip-grant-tables才有效果。
    
5)打开另一个cmd窗口,进到d:\usr\local\mysql4\bin,输入不加密码的登录命
  令 mysql -u root。 登录成功后可以使用update语句修改密码,修改完成后,必须使用
  flush privileges语句刷新权限表,这样新的密码才能生效: 
d:\usr\local\mysql\bin\mysqladmin -u root flush-privileges password "newpassword"
d:\usr\local\mysql\bin\mysqladmin -u root -p shutdown  这句提示你重新输密码。

6)输入mysqld --skip-grant-tables命令的命令行窗口关闭,在cmd里net start mysql使用新密码登录mysql服务器。

二)Linux:

方法一:

如果忘记了MySQL root密码,可以用以下方法重新设置:

1.KILL掉系统里的MySQL进程;
    killall -TERM MySQLd 

2.用以下命令启动MySQL,以不检查权限的方式启动;
    safe_MySQLd --skip-grant-tables & 

3.然后用空密码方式使用root用户登录 MySQL;
    MySQL -u root 

4.修改root用户的密码;
    MySQL> update MySQL.user set password=PASSWORD('新密码') where User='root'; 
    MySQL> flush privileges; 
    MySQL> quit 

重新启动MySQL,就可以使用新密码登录了。
方法二:

可能有的系统中没有safe_MySQLd程序(比如 ubuntu操作系统, apt-get安装的MySQL) , 那么使用下面方法也可以恢复密码(和Windows类似):

1.停止MySQLd;
    sudo /etc/init.d/MySQL stop
(您可能有其它的方法,总之停止MySQLd的运行就可以了)

2.用以下命令启动MySQL,以不检查权限的方式启动;
    MySQLd --skip-grant-tables &

3.然后用空密码方式使用root用户登录 MySQL;
    MySQL -u root

4.修改root用户的密码;
    MySQL> update MySQL.user set password=PASSWORD('newpassword') where User='root'; 
    MySQL> flush privileges; 
    MySQL> quit 

重新启动MySQL
    /etc/init.d/MySQL restart
就可以使用新密码 newpassword 登录了。

三)常见问题:

一定要注意在Windows中如果安装的是MySQL8.0版本的,mysqld --skip-grant-tables没有效果,需要输入mysqld --shared-memory --skip-grant-tables才有效果。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值