1.先创建一个数据库school和表student并插入一些数据:
mysql> create database school;
Query OK, 1 row affected (0.00 sec)mysql> use school
Database changed
mysql> 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`)
);
Query OK, 0 rows affected, 2 warnings (0.01 sec)mysql> INSERT INTO `student` VALUES (1, '陆亚', '男', 24, '计算机网络'),(2, 'tom', '男',
26, '英语'),(3, '张阳', '男', 21, '物流管理'), (4, 'alex', '女', 22, '电子商 务');
Query OK, 4 rows affected (0.02 sec)
Records: 4 Duplicates: 0 Warnings: 0
2.备份数据库:
[root@node3 ~]# mkdir /backup #创建一个backup目录
[root@node3 ~]# cd /backup/[root@node3 backup]#
3.备份数据库school到/backup目录
[root@node3 backup]# mysqldump --opt -B school > school.sql
4.备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库
[root@node3 backup]# mysqldump -B school --add-drop-table > school.sql
[root@node3 backup]# ll
total 8
-rw-r-----. 1 root root 2350 Feb 19 19:43 binlog.000001
-rw-r--r--. 1 root root 2708 Feb 19 19:21 school.sql注意:在MySQL8.0版本中默认有–add-drop-table这个选项,所以加不加都一样。
5.直接将MySQL数据库压缩备份
[root@node3 backup]# mysqldump -B school | gzip > school.sql.gz
[root@node3 backup]# ll
total 12
-rw-r-----. 1 root root 2350 Feb 19 19:43 binlog.000001
-rw-r--r--. 1 root root 2708 Feb 19 19:21 school.sql
-rw-r--r--. 1 root root 1161 Feb 19 20:05 school.sql.gz