暂无图片
root用户的密码如何找回 MYSQL 8.0
我来答
分享
Amy_liu923
2024-01-17
root用户的密码如何找回 MYSQL 8.0

目前Mysql Workbench 有连接记录,点击可以登录mysql数据库,用户是root。 但是root用户的密码忘记了。怎样找回呢?  因为想在Comand line client上再以root用户登录mysql数据库,但是苦于忘记了root的密码。 这种情况怎么找回呢? 

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
林修远
sudo mysqld_safe --skip-grant-tables &
跳过验证验证,然后修改密码
复制
暂无图片 评论
暂无图片 有用 2
打赏 0
Amy_liu923

如果是我知道我的root用户的密文是*E79902AA8A53379ECA72E13FB275DBCEAC145680,能查出明文来吗? 

暂无图片 评论
暂无图片 有用 0
打赏 0
大大刺猬

官方有忘记密码的操作教程: https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html

  1. 强制修改密码
mysqld --skip-grant-tables --skip-networking
复制

或者

mysqld --init-file=xxx.sql
复制

然后修改密码就是:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
复制
  1. 爆破
    mysql_native_password加密方法是做两次hash1
    参考: https://cloud.tencent.com/developer/article/2242261
    https://cloud.tencent.com/developer/article/2247829
    可以写存储过程来做, 可以参考如下SQL:
(root@127.0.0.1) [(none)]> select CONCAT('*', UPPER(SHA1(UNHEX(SHA1('123456'))))); +-------------------------------------------------+ | CONCAT('*', UPPER(SHA1(UNHEX(SHA1('123456'))))) | +-------------------------------------------------+ | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | +-------------------------------------------------+ 1 row in set (0.00 sec) (root@127.0.0.1) [(none)]>
复制

python可以参考

def enc_mysql_native_password(password): return '*' + hashlib.sha1(hashlib.sha1(password.encode()).digest()).hexdigest().upper()
复制
  1. 一些在线网址
    有些网址会提供破解hash的功能, 你可以去试下(比如cmd5), 你这个我去试了下, 要收费的…
暂无图片 评论
暂无图片 有用 1
打赏 0
lianR

忘记root密码处理办法:

1.关闭数据库 

 pkill mysqld      

                                                                                                                                                                                                    2.安全模式启动数据库 

[root@localhost data]# mysqld_safe --skip-grant-tables --skip- networking & 


3.  登陆数据库 

mysql 


 4.  刷新授权表

 flush privileges; 


 5.  修改密码 

mysql> alter user root@'localhost' identified with mysql_native_password by '123'; 


 6.  重启数据库到正常模式 

pkill mysqld mysqld_safe &               

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
MYSQL INNODB 表, 不断新增数据, 然后使用作业又不断地删除旧数据(时间上,一个月前的) 那么 这个表是不断增长大,变慢,还是维持原来的大小和查询性能?
回答 2
PAGE页可以重用
请教各位老大innodb_purge_rseg_truncate_frequency机制的问题
回答 1
这个不会,purge线程会跳过那些属于活跃事务的undo日志,即使这些日志已经很老了。只有当事务最终提交或回滚时,相关的undo日志才会变得可被purge。大事务也只会导致undo的增长,会对系统的性
各位大佬,docker-compose部署的mysql8,启动报这个错,如何处理,之前都是正常用的,断电有启动就报这个了。
回答 2
这不是报错信息:在Docker中,(Entrypoint)是指容器启动时执行的命令。这里的“(Entrypoint)切换到专用用户mysql”意味着MySQL服务将以一个名为“mysql”的专用用户身
MYSQL 一页中 16KB 好像记得 一行不能大于页的一半?
回答 1
不是不能,由于innodb采用的是B树,如果一行超过一页的一半,那么一个页里最多只能装一条记录,对于B树来说就起不到作用了。
mysql高可用自动切换
回答 3
1、首先keepalive跨网段是不是支持切换,取决于网络配置2、基于mysql的自动切换比较简单的就是mha,还是开源的。3、单纯基于keepalive做的mysql自动切换是无法保证数据一致性的,
mysql中Extra: Using index condition 和using index 有啥区别?
回答 2
https://blog.csdn.net/liujiqing123/article/details/120688295usingindex:使用覆盖索引的时候就会出现,测试发现主键索引也会生效usi
MySQL不提供数组,只能做成表吗?
回答 4
已采纳
数据库几乎(没见过有,可能有)都不提供,数据需要在程序中去实现。
用哪些命令可以查看MySQL数据库中的表结构?
回答 3
已采纳
MySQL查看表结构命令,如下:desc表名;showcolumnsfrom表名;describe表名;showcreatetable表名;四种方式都可以,感觉回答的质量可以的话麻烦采纳一下哟
innodb_stats_on_metadata 的疑惑?
回答 1
是的,你的理解是正确的。当innodbstatsonmetadata被启用并且innodbstatspersistent被设置为ON时,InnoDB会在执行元数据语句(如SHOWTABLESTATUS
远程linux下的mysql,删除数据后,再次打开表,发现数据还是没删,这是什么导致的?
回答 5
这么灵异的事情除非截图看到才能相信,不然commit了居然还有,没人能解释。唯一能解释的就是你删除完,其他人立马又恢复或者创建了这个表插入了数据。
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~