目录
数据库备份,数据库为school,素材如下
1.创建student和score表
2.为student表和score表增加记录
3.备份数据库school到/backup目录
4.备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库
5.直接将MySQL数据库压缩备份
6.备份MySQL数据库某个(些)表。此例备份student表
7.同时备份多个MySQL数据库(其他数据库素材自行准备)
8.仅仅备份数据库结构
9.备份服务器上所有数据库
10.还原MySQL数据库
11.还原压缩的MySQL数据库
12.使用mydumper备份数据库
13.使用mydumper恢复数据库
CREATE TABLE student (id INT(10) NOT NULL UNIQUE PRIMARY KEY ,name VARCHAR(20) NOT NULL ,sex VARCHAR(4) ,birth YEAR,department VARCHAR(20) ,address VARCHAR(50));
CREATE TABLE score (id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT ,stu_id INT(10) NOT NULL ,c_name VARCHAR(20) ,grade INT(10));
INSERT INTO student VALUES( 901,'张老大', '男',1985,'计算机系', '北京市海淀区');INSERT INTO student VALUES( 902,'张老二', '男',1986,'中文系', '北京市昌平区');INSERT INTO student VALUES( 903,'张三', '女',1990,'中文系', '湖南省永州市');INSERT INTO student VALUES( 904,'李四', '男',1990,'英语系', '辽宁省阜新市');INSERT INTO student VALUES( 905,'王五', '女',1991,'英语系', '福建省厦门市');INSERT INTO student VALUES( 906,'王六', '男',1988,'计算机系', '湖南省衡阳市');
INSERT INTO score VALUES(NULL,901, '计算机',98);INSERT INTO score VALUES(NULL,901, '英语', 80);INSERT INTO score VALUES(NULL,902, '计算机',65);INSERT INTO score VALUES(NULL,902, '中文',88);INSERT INTO score VALUES(NULL,903, '中文',95);INSERT INTO score VALUES(NULL,904, '计算机',70);INSERT INTO score VALUES(NULL,904, '英语',92);INSERT INTO score VALUES(NULL,905, '英语',94);INSERT INTO score VALUES(NULL,906, '计算机',90);INSERT INTO score VALUES(NULL,906, '英语',85);
[root@node1 ~]# mysqldump -uroot -p123456 -B school --set-gtid-purged=OFF > /backup/db_school.sql
[root@node1 ~]# mysqldump -uroot -p123456 --set-gtid-purged=OFF --add-drop-database school > /backup/db_school1.sql
[root@node1 ~]# mysqldump -uroot -p123456 -B school --set-gtid-purged=OFF | gzip > /backup/db_school3.sql.gz
[root@node1 ~]# mysqldump -uroot --set-gtid-purged=OFF -p123456 school student > /backup/db_school4.sql
[root@node1 ~]# mysqldump -uroot --set-gtid-purged=OFF -p123456 -B school it > /backup/db_school5.sql
[root@node1 ~]# mysqldump -uroot --set-gtid-purged=OFF -p123456 -d school > /backup/db_school6.sql
[root@node1 ~]# mysqldump -uroot --set-gtid-purged=OFF -p123456 -A > /backup/db_school7.sql
mysql [(none)]>drop database school;
mysql [(none)]>show databases;
(2)还原数据库
[root@node1 ~]# mysql -uroot -p123456 < /backup/db_school.sql
(3) 查看结果
mysql [school]>show tables;
mysql [school]>drop database school;
mysql [(none)]>show databases;
[root@node1 backup]# zcat /backup/db_school3.sql.gz | mysql -uroot -p123456
mysql [school]>show tables;
[root@node1 backup]# mydumper -u root -p 123456 -B school -S /tmp/mysql.sock -o /backup/db_school9.sql
mysql [school]>drop database school;
(2)还原数据库
[root@node1 backup]# myloader -u root -p 123456 -S /tmp/mysql.sock -d /backup/db_school9.sql -B school
(3)查看还原后的结果
mysql [school]>show tables;