0基础linux运维教程 mysql破解密码

不少同学在开发的时候对于密码的保存不是很周密,很容易忘记,那么这个方法就可以帮助你找回及破解忘记的密码。

## 四 破解密码

### 4.1 linux平台

方法一:不推荐

```

[root@egon ~]# rm -rf /var/lib/mysql/mysql  # 所有授权信息全部丢失!!!

[root@egon ~]# systemctl restart mariadb

[root@egon ~]# mysql

```

方法二:启动时,跳过授权库

```

[root@egon ~]# vim /etc/my.cnf    #mysql主配置文件

[mysqld]

skip-grant-table

[root@egon ~]# systemctl restart mariadb

[root@egon ~]# mysql

MariaDB [(none)]> update mysql.user set password=password("123") where user="root" and host="localhost";

MariaDB [(none)]> flush privileges;

MariaDB [(none)]> \q

[root@egon ~]# #打开/etc/my.cnf去掉skip-grant-table,然后重启

[root@egon ~]# systemctl restart mariadb

[root@egon ~]# mysql -u root -p123  # 以新密码登录

```

方法三:

```bash

# 1、先关闭数据库服务

方式一

systemctl stop mysql

方式二

mysqladmin -uroot -p123 -S /tmp/mysql.sock shutdown

# 2、跳过授权表启动mysql

mysqld_safe --skip-grant-tables --skip-networking &

ps:还需要跳过网络,否则在操作过程中很不安全

# 3、登录并修改密码

[root@egon ~]# mysql

MariaDB [(none)]> update mysql.user set password=password("123") where user="root" and host="localhost";

MariaDB [(none)]> flush privileges;

MariaDB [(none)]> \q

# 4、重启服务

systemctl start mysql

# 5、用修改后的密码登录即可

```

### 4.2 windows平台下

5.7版本mysql

方式一

```

#1 关闭mysql

#2 在cmd中执行:mysqld --skip-grant-tables

#3 在cmd中执行:mysql

#4 执行如下sql:

update mysql.user set authentication_string=password('') where user = 'root';

flush privileges;

#5 tskill mysqld #或taskkill -f /PID 7832

#6 重新启动mysql

```

方式二

```

#1. 关闭mysql,可以用tskill mysqld将其杀死

#2. 在解压目录下,新建mysql配置文件my.ini

#3. my.ini内容,指定

[mysqld]

skip-grant-tables

#4.启动mysqld

#5.在cmd里直接输入mysql登录,然后操作

update mysql.user set authentication_string=password('') where user='root and host='localhost';

flush privileges;

#6.注释my.ini中的skip-grant-tables,然后启动myqsld,然后就可以以新密码登录了

```

上一篇:python入门python开发基本数据类型列表


下一篇:HCNP Routing&Switching之OSPF网络类型