-
binlog 全量备份和增量备份
首先开启开启mysql-binlog日志vim /etc/mysql.cnf 在[mysqld]区块添加:log_bin = mysql_bin,然后保存退出。 开启binglog日志后,mysql语句会记录到binlog日志中,所以,增量备份实际就是备份binlog日志
全量备份
mysqldump -u root -p -B -F -R -x test| gzip > /backup/1.sql.gz mysqldump -u 用户 -p 数据库 [表1 表2 …… 表N] > 备份文件路径 -B:指定数据库 -F:刷新日志 -R:备份存储过程等 -x:锁表 恢复全备数据: mysql -u root -p < /backup/1.sql 备份指定库: mysqlbinlog -d test mysql-bin.00000X >00Xbin.sql 恢复指定库: mysql -uroot -p test<00Xbin.sql
-
iptables防止nmap扫描
namp是一款开放源代码的网络探测和安全审核工具。它用于快速扫描一个网络和一台主机开放的端口,还能使用tcp/ip协议栈特征探测远程主机的操作系统类型。namp支持很多扫描技术,例如:UDP、TCPconnect() 反向标志、ICMP、FIN、ACK扫描,Nmap最初是用于Unix系统的命令行应用程序。配置iptables可以阻止nmap扫描
iptables -t filter -I INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j REJECT iptables -t filter -I INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j REJECT iptables -t filter -I INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j REJECT iptables -t filter -I INPUT -p tcp --tcp-flags ALL SYN -j REJECT iptables -t filter -R INPUT 1 -s 192.168.80.138 -p tcp --dport 1: --tcp-flags ALL ACK -j REJECT
-
xtrabackup全量+增量备份
Xtrabackup是由percona提供的mysql数据库备份工具 优点:1,备份过程快速、可靠; 2,备份过程不会打断正在执行的事务; 3,能够基于压缩等功能节约磁盘空间和流量; 4,自动实现备份检验; 5,还原速度快;
全量备份
innobackupex --defaults-file=/etc/my.cnf --user=root --password=Yunkun@920801 --socket=/var/lib/mysql/mysql.sock backups
# 停止mysql
systemctl stop mysqld.service
# 合并数据文件,确保数据的一致性要求
innobackupex --apply-log backups/2021-01-27_21-02-24/
# 从备份恢复
innobackupex --defaults-file=/etc/my.cnf --copy-back --rsync backups/2021-01-27_21-02-24/
# 赋权
chown -R mysql:mysql /var/lib/mysql
# 重启mysql即可
systemctl start mysqld.service
-
利用binlog恢复到数据库崩溃前状态
-
redlog和binlog两者的关系
区别
redo log 是 InnoDB 引擎特有的;binlog 是 MySQL 的 Server 层实现的,所有引擎都可以使用。
redo log 是物理日志,记录的是“在某个数据页上做了什么修改”;binlog 是逻辑日志,记录的是这个语句的原始逻辑,比如“给 ID=2 这一行的 c 字段加 1 ”。
redo log 是循环写的,空间固定会用完;binlog 是可以追加写入的。“追加写”是指 binlog 文件写到一定大小后会切换到下一个,并不会覆盖以前的日志。
先写read log 而不写bin log 回导致回复不到原来数据
先写bin log 不写read log 会导致还没真正写入就回复了
redo log 和 binlog 都可以用于表示事务的提交状态,而两阶段提交就是让这两个状态保持逻辑上的一致。