如何查看MySQL连接的root密码

 更新时间:2017年01月04日 09:17:26   作者:宫城  
前几天在用Navicat去连本地的MySQL的时候发现我已经忘了密码了,试了网上很多方式都不行…后来发现其实可以自己直接去看当初设置的密码,下面将方法总结出来分享给大家,有需要的朋友们可以参考借鉴,下面来一起看看吧。

本文给大家分享的是查看MySQL连接的root密码的方法,下面话不多说来来看正文:

1.首先我们进到MySQL的bin目录下

➜ cd /usr/local/mysql/bin

2.切换成root身份

➜ bin sudo su

3.跨过权限的验证

sh-3.2# ./mysqld_safe --skip-grant-tables &
[1] 9451
sh-3.2# 2017-01-03T15:40:10.6NZ mysqld_safe Logging to '/usr/local/mysql/data/yzydeMacBook-Pro.local.err'.
2017-01-03T15:40:10.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data

4.以root身份登录MySQL

./mysql -uroot
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.12 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

5.选择mysql数据库

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

6.显示mysql数据库下的表

mysql> show tables;
+---------------------------+
| Tables_in_mysql   |
+---------------------------+
| columns_priv    |
| db      |
| engine_cost    |
| event      |
| func      |
| general_log    |
| gtid_executed    |
| help_category    |
| help_keyword    |
| help_relation    |
| help_topic    |
| innodb_index_stats  |
| innodb_table_stats  |
| ndb_binlog_index   |
| plugin     |
| proc      |
| procs_priv    |
| proxies_priv    |
| server_cost    |
| servers     |
| slave_master_info   |
| slave_relay_log_info  |
| slave_worker_info   |
| slow_log     |
| tables_priv    |
| time_zone     |
| time_zone_leap_second  |
| time_zone_name   |
| time_zone_transition  |
| time_zone_transition_type |
| user      |
+---------------------------+
31 rows in set (0.00 sec)

7.很明显我们需要的密码是存在user这个表下的,所以我们直接看user的表结构是怎么样的

mysql> show columns from user;
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Field     | Type        | Null | Key | Default    | Extra |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Host     | char(60)       | NO | PRI |      |  |
| User     | char(32)       | NO | PRI |      |  |
| Select_priv   | enum('N','Y')      | NO |  | N      |  |
| Insert_priv   | enum('N','Y')      | NO |  | N      |  |
| Update_priv   | enum('N','Y')      | NO |  | N      |  |
| Delete_priv   | enum('N','Y')      | NO |  | N      |  |
| Create_priv   | enum('N','Y')      | NO |  | N      |  |
| Drop_priv    | enum('N','Y')      | NO |  | N      |  |
| Reload_priv   | enum('N','Y')      | NO |  | N      |  |
| Shutdown_priv   | enum('N','Y')      | NO |  | N      |  |
| Process_priv   | enum('N','Y')      | NO |  | N      |  |
| File_priv    | enum('N','Y')      | NO |  | N      |  |
| Grant_priv    | enum('N','Y')      | NO |  | N      |  |
| References_priv  | enum('N','Y')      | NO |  | N      |  |
| Index_priv    | enum('N','Y')      | NO |  | N      |  |
| Alter_priv    | enum('N','Y')      | NO |  | N      |  |
| Show_db_priv   | enum('N','Y')      | NO |  | N      |  |
| Super_priv    | enum('N','Y')      | NO |  | N      |  |
| Create_tmp_table_priv | enum('N','Y')      | NO |  | N      |  |
| Lock_tables_priv  | enum('N','Y')      | NO |  | N      |  |
| Execute_priv   | enum('N','Y')      | NO |  | N      |  |
| Repl_slave_priv  | enum('N','Y')      | NO |  | N      |  |
| Repl_client_priv  | enum('N','Y')      | NO |  | N      |  |
| Create_view_priv  | enum('N','Y')      | NO |  | N      |  |
| Show_view_priv   | enum('N','Y')      | NO |  | N      |  |
| Create_routine_priv | enum('N','Y')      | NO |  | N      |  |
| Alter_routine_priv  | enum('N','Y')      | NO |  | N      |  |
| Create_user_priv  | enum('N','Y')      | NO |  | N      |  |
| Event_priv    | enum('N','Y')      | NO |  | N      |  |
| Trigger_priv   | enum('N','Y')      | NO |  | N      |  |
| Create_tablespace_priv | enum('N','Y')      | NO |  | N      |  |
| ssl_type    | enum('','ANY','X509','SPECIFIED') | NO |  |      |  |
| ssl_cipher    | blob        | NO |  | NULL     |  |
| x509_issuer   | blob        | NO |  | NULL     |  |
| x509_subject   | blob        | NO |  | NULL     |  |
| max_questions   | int(11) unsigned     | NO |  | 0      |  |
| max_updates   | int(11) unsigned     | NO |  | 0      |  |
| max_connections  | int(11) unsigned     | NO |  | 0      |  |
| max_user_connections | int(11) unsigned     | NO |  | 0      |  |
| plugin     | char(64)       | NO |  | mysql_native_password |  |
| authentication_string | text        | YES |  | NULL     |  |
| password_expired  | enum('N','Y')      | NO |  | N      |  |
| password_last_changed | timestamp       | YES |  | NULL     |  |
| password_lifetime  | smallint(5) unsigned    | YES |  | NULL     |  |
| account_locked   | enum('N','Y')      | NO |  | N      |  |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
45 rows in set (0.02 sec)

8.表的内容比较多,但是我们很容易就发现,密码其实是存在authentication_string字段下的,那我们就可以直接读User内容为root的密码了

mysql> select authentication_string from user where User='root';
+-------------------------------------------+
| authentication_string      |
+-------------------------------------------+
| *781D25322166DB7FF99BA4A1FA5ED30439A60DDE |
+-------------------------------------------+
1 row in set (0.01 sec)

OK,那我们拿着这个密码到Navicat试试看

 

总结

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

相关文章

  • MySQL的表空间是什么

    MySQL的表空间是什么

    这篇文章主要介绍了MySQL的表空间是什么,帮助大家更好的理解和使用MySQL表的相关知识,感兴趣的朋友可以了解下
    2020-11-11
  • 一文带你了解如何用MySQL通配符实现过滤功能

    一文带你了解如何用MySQL通配符实现过滤功能

    本文章将介绍什么是通配符、如何使用通配符以及怎样使用LIKE操作符进行通配搜索,以便对数据进行复杂过滤,感兴趣的小伙伴跟着小编一起来学习吧
    2023-07-07
  • mysql处理海量数据时的一些优化查询速度方法

    mysql处理海量数据时的一些优化查询速度方法

    最近一段时间由于工作需要,开始关注针对Mysql数据库的select查询语句的相关优化方法,需要的朋友可以参考下
    2017-04-04
  • mysql横向转纵向、纵向转横向排列的方法

    mysql横向转纵向、纵向转横向排列的方法

    这篇文章主要介绍了mysql横向转纵向、纵向转横向排列的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • mysql5.7 新增的json字段类型用法实例分析

    mysql5.7 新增的json字段类型用法实例分析

    这篇文章主要介绍了mysql5.7 新增的json字段类型用法,结合实例形式分析了mysql5.7 新增的json字段类型具体功能、使用方法及操作注意事项,需要的朋友可以参考下
    2020-02-02
  • mysql导入sql文件出错的解决方法

    mysql导入sql文件出错的解决方法

    本文主要介绍了mysql导入sql文件出错的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • win11设置mysql开机自启的实现方法

    win11设置mysql开机自启的实现方法

    本文主要介绍了win11设置mysql开机自启的实现方法,要通过命令行方式设置,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • MySQL高级操作指令汇总

    MySQL高级操作指令汇总

    本文给大家带来的是MySQL高级操作指令代码,罗列的很详细并且附带有例子,对大家的学习将会很有用,建议收藏以防丢失,需要的朋友可以参考下
    2022-01-01
  • mysql安装报错unknown variable ‘mysqlx_port=0.0‘简单解决过程

    mysql安装报错unknown variable ‘mysqlx_port=0.0‘简单解决过程

    这篇文章主要给大家介绍了关于mysql安装报错unknown variable ‘mysqlx_port=0.0‘的解决过程,文中通过代码介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-08-08
  • MySQL数据库使用mysqldump导出数据详解

    MySQL数据库使用mysqldump导出数据详解

    mysqldump是mysql用于转存储数据库的实用程序。它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等。接下来通过本文给大家介绍MySQL数据库使用mysqldump导出数据详解,需要的朋友一起学习吧
    2016-04-04

最新评论