mysql忘记root密码,修改root密码-阿里云开发者社区

开发者社区> 1840121942114024> 正文

mysql忘记root密码,修改root密码

简介: mysql数据库密码验证是特别的严格,因为关系数据安全,那么如果你的mysql数据库用户名或者密码记不清了,那么数据就丢失了吗?当然不是,开发者已经为我们用户考虑到了,如何解决呢?下面有一些找回用户名密码的方法,小白在此献丑了!
+关注继续查看
(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅998元/3年,立即抢购>>>:9i0i.cn/aliyun

福利推荐:阿里云、腾讯云、华为云等大品牌云产品全线2折优惠活动来袭,4核8G云服务器899元/3年,新老用户共享优惠,点击这里立即抢购>>>

修改root密码的方法:
方法一:使用mysqladmin命令:

a. 没有设置过密码:
$mysql_home/bin/mysqladmin -u root password "newpass"

b. 设置过初始密码:
$mysql_home/bin/mysqladmin -u root password oldpass "newpass"

方法二:使用SQL语句修改数据库
首先使用的是像Linux的救援模式一样的超级管理模式

Ⅰ. 先停止mysql服务,然后,通过下面的方式进入超级管理模式

Ⅱ. 进入超级管理模式的方法:
a. $mysql_home/bin/mysqld --skip-grant-tables &

b. 修改mysql的配置文件(一般是/etc/my.cnf),在[mysqld]模块下添加skip-grant-tables,如下

[mysqld]
port        = 3306
socket      = /tmp/mysql.sock
datadir = /usr/local/mysql/var
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 1024
sort_buffer_size = 4M
net_buffer_length = 8K
read_buffer_size = 4M
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 64M
thread_cache_size = 128
query_cache_size = 128M
tmp_table_size = 128M
**skip-grant-tables**

然后,启动mysql

Ⅲ. 通过$mysql_home/bin/mysql免密码直接进入数据库,修改mysql.user表
通过下面的SQL语句修改root用户密码:
mysql 5.7以上的:
UPDATE mysql.user SET authentication_string=PASSWORD('admin') where USER='root';

mysql 5.7 以下的:有的mysql版本可能没有authentication_string字段,是password,改一下
UPDATE mysql.user SET PASSWORD=PASSWORD('admin') where USER='root';即可

修改完后记得刷新权限:

执行FLUSH PRIVILEGES;
退出mysql

Ⅳ. 停止$mysql_home/bin/mysqld --skip-grant-tables &进程(后台运行的进程),停止后台进程的方法详见:
https://blog.csdn.net/mounter625/article/details/6069194 或者 https://www.cnblogs.com/clsn/p/7744858.html
如果是修改配置文件启动mysql服务的,将配置文件还原(注释掉skip-grant-tables),然后重启即可。

Ⅴ. 通过刚修改的新密码连接数据库即可

方法三:和方法二相似通过SQL语句修改数据库的方式修改root密码的方法:
与方法二步骤大致相同,只是SQL语句不同。
进入超级管理模式,修改重启,重新连接即可。

由于SQL里保存密码都是加密的方式,所以,这种方法要使用加密后的密码修改,一般不建议使用,或者修改为空密码。

SQL语句:
将密码修改为空:
mysql 5.7以上版本:
UPDATE mysql.user SET authentication_string='' where USER='root';
mysql 5.7以下版本:
UPDATE mysql.user SET PASSWORD='' where USER='root';

将密码修改为123456:
mysql 5.7以上版本:
UPDATE mysql.user SET authentication_string='*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' where USER='root';
mysql 5.7以下版本:
UPDATE mysql.user SET PASSWORD='*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' where USER='root';

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MySQL新建用户,授权,删除用户,修改密码
<p style="line-height:28px; font-size:14px; margin-top:10px; margin-bottom:10px; padding-top:0px; padding-bottom:0px; color:rgb(51,51,51); text-indent:28px; font-family:宋体; background-color:rgb(24
1655 0
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
8391 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
12029 0
mysql忘记root密码搞定方法(windows)
1.以系统管理员身份登陆系统。   2.打开cmd-----net start 查看mysql是否启动。启动的话就停止net stop mysql.   3.我的mysql安装在d:\usr\local\mysql4\bin下。
584 0
mysql 5.7 忘记密码,及修改密码问题,密码列不再是Password ,而是authentication_string
5.5版本 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。? 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的? 状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对? 外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全? 状态。最安全
5779 0
Mysql忘记初始密码时修改方式
Mysql忘记初始密码时修改方式
18 0
MySQL忘记root密码--不重启mysqd重置root密码
找回丢失mysql root密码 一、启动修改丢失的mysql单实例root密码方法; 1.首先停止mysql /etc/init.d/mysql stop 2.
3944 0
3
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载


http://www.vxiaotou.com