破解数据管理员密码

线下(没有被网站访问过的)数据库服务器的破解方法

具体操作:
1 修改主配置文件并重启数据库服务
2 无密码登录 并修改登录密码 断开连接
3 去掉对主配置文件的修改并重启数据库服务
4 使用破解后的密码登录

修改主配置文件:
[root@host50 ~]# vim /etc/my.cnf
[mysqld]
#validate_password_policy=0
#validate_password_length=6
Skip_grant_tables  #作用连接服务不需要输入用户名和密码
:wq
[root@host50 ~]# systemctl  restart mysqld
无密码登录,并修改登陆密码,断开连接
[root@host50 ~]# mysql  
mysql> desc  mysql.user; 查看存放密码的表头名

查看数据库管理员root本机登录密码(密码是加密保存的)
mysql> select user , host , authentication_string  from mysql.user
where  user=”root”  and  host=”localhost”;

  用户名        主机名        密码
+-----------+-----------+-------------------------------------------+
| user      | host       | authentication_string                     |
+-----------+-----------+-------------------------------------------+
| root      | localhost  | *F19C699342FA5C91EBCF8E0182FB71470EB2AF30 |
+-----------+-----------+-------------------------------------------+
2 rows in set (0.00 sec)

密码是使用mysql服务自带的password()命令加密的
mysql> select password("123456");  把明文123456 加密 
+-------------------------------------------+
| password("123456")                        |
+-------------------------------------------+
| *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-------------------------------------------+
1 row in set, 1 warning (0.00 sec)
#修改管理员root 本机登陆密码为  123qqq...A
mysql> update  mysql.user set authentication_string=password("123qqq...A") 
where user="root" and host="localhost";  

#确保修改生效
mysql> flush privileges; 
mysql> exit; 断开连接
去掉对主配置文件的修改并重启数据库服务
[root@host50 ~]# vim /etc/my.cnf  
[mysqld]
validate_password_policy=0
validate_password_length=6
#skip-grant-tables
:wq
[root@host50 ~]# systemctl  restart mysqld 重启服务
使用恢复的密码登陆
[root@host50 ~]# mysql  -uroot -p123qqq...A
线上数据库服务器的破解方法(不需要重启数据库服务,适合工作环境)具体步骤如下:

1 拷贝管理员root用户能正常连接服务的数据库服务器的mysql库, 覆盖本机的mysql库
2 查看本机mysql服务 父进程的pid
3 重新加载数据库目录下的文件
4 使用破解后的密码登录

拷贝Host51的mysql库 覆盖本机的mysql库
[root@host50 ~]# scp -r 192.168.4.51:/var/lib/mysql/mysql  /var/lib/mysql/
没有pstree命令的话 安装 psmisc软件
pstree是树形结构去查看进程的PID号
安装psmisc这个软件才有pstree这个命令
[root@host50 ~]# which  pstree || yum  -y install psmisc  #发现没有psmisc这个软件去安装,如果有就不安装
查看本机mysqld服务的父进程的PID号
[root@host50 ~]# pstree -p | grep mysqld | head  -1
|-mysqld(1130)-+-{mysqld}(1318)
查看所有信号列表
[root@host50 ~]# kill -l (小写L)
重新加载数据库目录下的文件
给当前50上的mysql进程发一个信号,发一个SIGHUP的信号,
这个作用就是:
让这个进程对应的服务重新加载一下数据库下的目录文件。
加载的好处是什么?
就是让它认识一下51的用户名的密码。
[root@host50 ~]# kill  -SIGHUP  1130
登录本机的数据库的密码和Host51的root密码一样
[root@host50 ~]# mysql -hlocalhost -uroot -pNSD2022...a
修改root密码
为了数据库管理员root用户密码的安全,可以定期修改密码
注意:修改密码 必须要知道旧密码 才能设置新密码
	  并且要符合密码策略的要求
登陆后修改
数据库管理员连接服务后 修改自己的登陆密码

[root@host50 ~]# mysql -uroot -Pnsd2022…a
mysql> alter user  root@”localhost” identified by “123456”; 
mysql> exit;                    
登陆前修改
操作系统管理员 修改本机数据库服务管理员登陆密码
[root@host50 ~]# mysqladmin  -uroot -p旧密码   password   “新密码”
[root@host50 ~]# mysqladmin  -uroot -p123456   password   "654321"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值