Mysql-3 数据还原

一:通过mysqlbinlog恢复数据

1:
在这里插入图片描述
2:启用二进制文件
在这里插入图片描述
Mysql-3 数据还原_第1张图片
3:
在这里插入图片描述
Mysql-3 数据还原_第2张图片
4:查看二进制数据文件是否已启用
在这里插入图片描述
Mysql-3 数据还原_第3张图片
logbin -on代表已经启用。
5:查看当前数据库二进制文件有哪些
Mysql-3 数据还原_第4张图片
7:查看正在使用的二进制文件是哪些
Mysql-3 数据还原_第5张图片
每做一次操作,该二进制文件就会有变化
Mysql-3 数据还原_第6张图片
8:查看记录我们操作的二进制文件Mysql-3 数据还原_第7张图片

9:进行二进制数据文件的恢复操作
(1)
Mysql-3 数据还原_第8张图片
Mysql-3 数据还原_第9张图片
Mysql-3 数据还原_第10张图片
(2)用mysqlbinlog做二进制文件恢复的依据
1:时间,start datetime~stop datetime。
2:结束的位置start position~stop position。
在这里插入图片描述
(3)根据时间来做
Mysql-3 数据还原_第11张图片
a:还原所有文件:例如恢复15;04:57到15:24:11之间create databse aa~dd的操作。
Mysql-3 数据还原_第12张图片
发现,aa,bb,cc都恢复了,但是dd没有,因为,2020-05-20 15:24:11是create database dd开始的时间,而不是结束的时间,要想dd也恢复,需要把stop-datetime时间设置为下条命令的开始时间。
恢复drop database cc;drop database bb;drop database aa;这三条命令
Mysql-3 数据还原_第13张图片

在这里插入图片描述
Mysql-3 数据还原_第14张图片
恢复成功。
b:根据起始和终止位置
Mysql-3 数据还原_第15张图片
在这里插入图片描述
与根据时间恢复不同的是,pos指的是该命令终止的位置,所以根据pos恢复时要用该命令的上一条pos 位置到要终止的命令的pos,例如create database aa的end_log_pos是323,但要用上一个end_log_pos=244,到create database dd的end_log_pos=560
Mysql-3 数据还原_第16张图片

10:定时清空占内存的二进制文件
(1)登陆数据库查看我有哪些二进制文件
Mysql-3 数据还原_第17张图片
(2)删掉一些二进制文件
Mysql-3 数据还原_第18张图片

二:Mysql主从分离原理及如何实现

**1:主从同步 **
原理:
通过binlog二进制文件实现从主数据库复制从数据库,属于异步的复制,速度比同步快。
主服务器会开启一个io线程
从服务器会开启一个io线程和sql线程
客户端需要配置master.info文件
。。。。待补充

(两台虚拟机恢复到初始状态)
(1):服务器端和客户端均做如下操作:
在这里插入图片描述
Mysql-3 数据还原_第19张图片
(2):启用二进制文件
服务器端修改主配置文件
在这里插入图片描述
Mysql-3 数据还原_第20张图片
(3)客户端修改主配置文件
在这里插入图片描述
Mysql-3 数据还原_第21张图片
(4)服务端和客户端都开启mysql服务并设置密码并登陆
在这里插入图片描述
mysqladmin -u root password ‘zjs819819’;
mysql -u root -p
(5)在主数据库上给从服务器做一下授权,让从数据库能拿到主数据库的二进制文件,设置一个允许访问的用户
在这里插入图片描述
看一下我们的有哪些二进制文件和主二进制文件
Mysql-3 数据还原_第22张图片
(6)从服务器上数据库配置一下master.nfo文件,告知从数据库它登陆主数据库所需要的信息

在这里插入图片描述
(7)开启从数据库的功能
Mysql-3 数据还原_第23张图片
两个YES,表示我们主从同步成功。
(8)做一下数据同步看一下效果
客户端:
Mysql-3 数据还原_第24张图片
服务器端:
Mysql-3 数据还原_第25张图片
客户端:
Mysql-3 数据还原_第26张图片
主从同步成功。
小结:
主从同步优点:主数据库产生的文件是不会完整同步到从数据库的,也就是说如果我想对数据进行完整备份的话可以备份从数据库,实现简单。
主从同步缺点:主数据库出现问题,从数据库不能正常工作,主主同步能解决这个问题。
2:主主同步
原理:
a,b数据库,互为主从双向复制,a数据库产生的数据会复制给b,b数据库产生的数据也会复制给a。
恢复环境,(恢复快照,我的快照是虚拟机刚建好的状态)。
1:服务端和客户端都
在这里插入图片描述
2:
服务器端修改主配置文件:
在这里插入图片描述
Mysql-3 数据还原_第27张图片
客户端修改主配置文件:
在这里插入图片描述
Mysql-3 数据还原_第28张图片
两台机器都:
在这里插入图片描述
Mysql-3 数据还原_第29张图片
环境准备完毕。
3:进到数据库里进行配置
(1)客户端先把数据锁一下,防止还没配置好就同步过去了
Mysql-3 数据还原_第30张图片
(2)启用主主配置
a:客户端进行授权,并查看当前使用的二进制文件:
Mysql-3 数据还原_第31张图片
b:服务器端进行授权,并查看当前使用的二进制文件:
Mysql-3 数据还原_第32张图片
c:两端都show slave status\G;查看是否同步成功,都yes,表示成功。
Mysql-3 数据还原_第33张图片

4:进行验证测试
(1)两端都:
Mysql-3 数据还原_第34张图片
(2)客户端进行操作,建立一个名为aa的表,
Mysql-3 数据还原_第35张图片
来到服务器端查看,发现同步成功:
Mysql-3 数据还原_第36张图片
(3)服务器端进行操作,建立一个名为bb的表,
Mysql-3 数据还原_第37张图片
来到客户端查看,发现同步成功:
Mysql-3 数据还原_第38张图片

感悟:

还是要多敲!

你可能感兴趣的:(服务器搭建与测试,Linux)