安装部署mysql 5.7.17数据库,破解数据库管理员root密码

安装部署mysql 5.7.17数据库,破解数据库管理员root密码

准备环境

关闭防火墙

systemctl stop firewalld
systemctl  disable  firewalld 

禁用selinux

setenforce 0

编辑配置文件
vim /etc/sysconfig/selinux
SELINUX=disabled
:wq

检查是否有冲突软件mariadb(如果没有安装跳过)

# 停止服务
systemctl  stop  mariadb
# 忽略依赖关系卸载软件
rpm  -e  --nodeps  mariadb  mariadb-server
# 删除服务的主配置文件
rm  -rf  /etc/my.cnf
# 删除数据
rm  -rf  /var/lib/mysql/*

搭建mysql服务器

拷贝软件 mysql-5.7.17.tar 到 /root 目录下

#解压
tar  -xf mysql-5.7.17.tar
#查看解压后的文件
ls mysql-community-*.rpm
#安装软件
yum -y install mysql-community-*.rpm

启动服务并设置开机运行 查看进程和端口

#启动服务
systemctl  start mysqld
#设置开机运行
systemctl  enable mysqld
#查看端口号
netstat  -utnlp  | grep  3306  
#或
ss -utnlp |   grep  3306
#查看进程
ps  aux  |  grep   mysqld 
#或
ps -C mysqld 

查看服务初始密码
说明:初始密码是随机生成的,每台机器的都不一样

grep password  /var/log/mysqld.log

root@localhost:后面的就是初始密码,注意不要把空格复制上

使用初始密码连接服务
初始密码里会有一些特殊符号,有些符号在命令行下是有特殊功能的,为了使其成为普通字母,要使用单引号把密码引起来

mysql -uroot -p'初始密码'

修改登录密码
必须要修改初始密码,否则数据库不能正常使用。
修改密码且密码要符合复杂度要求(密码要求包涵数字,大小写字母,符号 ,同时不能小于8个字符)

mysql>  alter user   root@"localhost" identified by "新密码";
#退出数据库
mysql>  exit; 

使用修改的密码登录

mysql  -uroot -p新密码

#查看已有的库
mysql> show databases;

#默认的4个库 不允许删除  库存放的是不同作用的数据
#退出数据库
mysql> exit;

mysqld服务相关参数

文件 说明
/etc/my.cnf 主配置文件
/var/lib/mysql 数据库目录
MySQL服务默认端口号 3306
数据库服务进程名 mysqld
传输协议 TCP
进程所有者 mysql
进程所属组 mysql
错误日志文件 /var/log/mysqld.log

基本操作

mysql> show databases; 查看已有库
mysql> select user(); 显示登录用户名和客户端地址
mysql> select version(); 查看MySQL软件版本号
mysql> select database(); 显示当前所在的库(类似系统命令pwd的功能)
mysql> use sys; 进入到sys库里( 类似系统命令cd)
mysql> select database(); 在查看所在的库
mysql> show tables; 显示库下已有的表 (表,用来存数据的文件 )
mysql> exit; 断开连接(退回到系统命令行)

破解数据库管理员root密码

第一种破解方法,需要重启数据库服务

#修改主配置文件并重启数据库服务
vim /etc/my.cnf
[mysqld]
skip-grant-tables  #连接服务不需要输入用户名和密码
:wq
systemctl  restart mysqld

#无密码登录
mysql
#修改管理员root 本机登陆密码
mysql> update  mysql.user set authentication_string=password("密码") 
where user="root" and host="localhost";  
#确保修改生效
mysql> flush privileges;  

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

mysql> exit;

#注释主配置文件里添加的行并重启服务
vim /etc/my.cnf  
[mysqld]
#skip-grant-tables
:wq
#重启服务
systemctl  restart mysqld 

#使用破解的新密码登陆
mysql  -uroot -p新密码
mysql> 			

第二种破解方法,不需要重启数据库服务

工作中线上服务器是不能随便重启的,适合破解线上数据库服务器管理员root 密码,用已知密码的服务器密码覆盖忘记密码的服务器密码。

首先拷贝已有mysql库中的账号密码 覆盖遗忘root密码的mysql库

#将xx机器上的/var/lib/mysql/mysql目录全部拷贝到本机相同目录并覆盖
#注意本目录会覆盖所有账户和密码,不影响库数据
scp -r 192.168.xx.xx:/var/lib/mysql/mysql  /var/lib/mysql/

检查本机上有pstree命令

which pstree || yum –y install psmisc

用pstree查看mysqld服务的父进程pid

# pstree -p | grep mysqld | head  -1

重新加载数据库目录下的文件

kill  -SIGHUP  父进程pid

用覆盖过来的mysql的root密码登录

mysql  -uroot -p密码

登陆后可以重新修改root密码
注意:修改密码 必须要知道旧密码 才能设置新密码并且要符合密码策略的要求

#方法一 登录后修改,数据库管理员连接服务后 修改登陆密码
mysql -uroot -p密码
Mysql> alter user  root@”localhost” identified by "新密码"; 
MySQL> exit;

#方法二 登录前修改
mysqladmin  -uroot  -p旧密码  password   “新密码”

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值