本文给大家分享的是查看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试试看
总结
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。