logo
关于我们

技术分享

技术分享 MySQL数据库备份及增量备份

MySQL数据库备份及增量备份

2021-06-08

 一.MySQL数据库的备份

1.创建测试数据库
create database xscj CHARACTER SET utf8  COLLATE utf8_general_ci;
2.创建表
create table student(
Sno int(10) NOT NULL COMMENT '学号',
Sname varchar(16) NOT NULL COMMENT '姓名',
Ssex char(2) NOT NULL COMMENT '性别',
Sage tinyint(2)  NOT NULL default '0' COMMENT '学生年龄',
Sdept varchar(16)  default NULL  COMMENT '学生所在系别', 
PRIMARY KEY  (Sno) 
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
3.插入数据
set names gbk;
INSERT INTO student values(0001,'陆亚','男',24,'计算机网络');
INSERT INTO student values(0002,'kqzj','男',26,'computerapplication');
INSERT INTO student values(0003,'xiaozhang','男',28,'物流管理');
INSERT INTO student values(0004,'脉动','男',29,'computerapplication');
INSERT INTO student values(0005,'ydds','男',26,'计算机科学与技术');
mysql> use xscj
Database changed
mysql> show tables;
+----------------+
| Tables_in_xscj |
+----------------+
| student        | 
+----------------+
1 row in set (0.00 sec)
mysql> select * from student;
+-----+-----------+------+------+------------------+
| Sno | Sname     | Ssex | Sage | Sdept            |
+-----+-----------+------+------+------------------+
|   1 | 陆亚    | 男   |   24 | 计算机网络       | 
|   2 | kqzj      | 男   |   26 | computerapplicat | 
|   3 | xiaozhang | 男   |   28 | 物流管理         | 
|   4 | 脉动      | 男   |   29 | computerapplicat | 
|   5 | ydds      | 男   |   26 | 计算机科学与技术 | 
+-----+-----------+------+------+------------------+
5 rows in set (0.00 sec)
4.备份数据
mysqldump -uroot -p'123456' -S /data/3306/mysql.sock --default-character-set=utf8 --flush-logs -B xscj|gzip >/tmp/$(date +%F).sql.gz ---压缩备份数据库
mysqldump -uroot -p'123456' -S /data/3306/mysql.sock --default-character-set=utf8 --flush-logs --tables student|gzip >/tmp/$(date +%F).sql.gz ---备份数据表
参数:
--database,-B选项,可以转储多个数据库,在这个选项名后的参数都被认定为数据库名。
-F, --flush-logs,在开始导出前,洗掉在MySQL服务器中的日志文件。
[root@localhost tmp]# ll
total 41
-rw-r--r-- 1 root root  997 Jan 19 20:52 2012-01-19.sql.gz
drwx------ 3 root root 4096 Jan 16 00:53 gconfd-root
drwx------ 2 root root 4096 Jan 16 00:53 keyring-izT8Lq
srwxr-xr-x 1 root root    0 Jan 16 00:53 mapping-root
-rw-r----- 1 root root  287 Jan 19 20:57 mysql3306-bin.000005
-rw-r--r-- 1 root root 1103 Jan 19 20:37 mysql3306.sql
drwxr-xr-x 3 root root 4096 Jan 19 18:26 pear
drwx------ 2 root root 4096 Jan 16 00:53 virtual-root.ass0eH
[root@localhost tmp]# ls /data/3306/data
ib_logfile0  ib_logfile2  mysql                 mysql3306-bin.000002  mysql3306-bin.000004  mysql3306-bin.index  teacher  xscj
ib_logfile1  ibdata1      mysql3306-bin.000001  mysql3306-bin.000003  mysql3306-bin.000005  student              test  
5.删除第5条记录
mysql> use xscj
Database changed
mysql> delete from student where Sno=5;
Query OK, 1 row affected (0.01 sec)
mysql> select * from student;
+-----+-----------+------+------+------------------+
| Sno | Sname     | Ssex | Sage | Sdept            |
+-----+-----------+------+------+------------------+
|   1 | 陆亚    | 男   |   24 | 计算机网络       | 
|   2 | kqzj      | 男   |   26 | computerapplicat | 
|   3 | xiaozhang | 男   |   28 | 物流管理         | 
|   4 | 脉动      | 男   |   29 | computerapplicat | 
+-----+-----------+------+------+------------------+
4 rows in set (0.00 sec)
 
二、增量恢复MySQL数据库
1.解压完全备份的数据库
gzip -d 2012-01-19.sql.gz
2.利用mysqlbinlog处理二进制日志
[root@localhost tmp]# cp /data/330/data/mysql3306-bin.000005 /tmp
[root@localhost tmp]#mysqlbinlog mysql3306-bin.000005 >mysql3306-1.sql
3.编辑转换后的二进制文件将其中的删除delete from student where Sno=5;这条语句去掉。
4.恢复MySQL数据库
mysql -uroot -p'123456' -S /data/3306/mysql.sock </tmp/2012-01-19.sql ---恢复整个数据库
mysql -uroot -p'123456' -S /data/3306/mysql.sock </tmp/mysql3306.sql ---恢复删除之前的操作
mysql> use xscj
Database changed
mysql> select * from student;
+-----+-----------+------+------+------------------+
| Sno | Sname     | Ssex | Sage | Sdept            |
+-----+-----------+------+------+------------------+
|   1 | 陆亚    | 男   |   24 | 计算机网络       | 
|   2 | kqzj      | 男   |   26 | computerapplicat | 
|   3 | xiaozhang | 男   |   28 | 物流管理         | 
|   4 | 脉动      | 男   |   29 | computerapplicat | 
|   5 | ydds      | 男   |   26 | 计算机科学与技术 | 
+-----+-----------+------+------+------------------+
5 rows in set (0.00 sec)
云祺备份软件,云祺容灾备份系统,虚拟机备份,数据库备份,文件备份,实时备份,勒索软件,美国,图书馆
  • 标签:
  • 技术分享

您可能感兴趣的新闻 换一批

现在下载,可享30天免费试用

立即下载