king

如何查看MySQL的root密码

king Mysql 2018-05-21 5604浏览 0

1.首先我们进到MySQLbin目录下


1

cd /usr/local/mysql/bin

2.切换成root身份


1

bin sudo su

3.跨过权限的验证


1

2

3

4

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


1

2

3

4

5

6

7

8

9

10

11

12

./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数据库


1

2

3

4

5

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数据库下的表


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

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的表结构是怎么样的


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

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的密码了


1

2

3

4

5

6

7

mysql> select authentication_string from user where User='root';

+-------------------------------------------+

| authentication_string |

+-------------------------------------------+

|   *781D25322166DB7FF99BA4A1FA5ED30439A60DDE |

+-------------------------------------------+

1 row in set (0.01 sec)

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

如何查看MySQL的root密码

 


继续浏览有关 mysql 的文章
发表评论