数据库运维-备份还原操作

1.创建student和score表

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 )
) ;

2.为student表和score表增加记录

向 student 表插入记录的 INSERT 语句如下:
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 , ' 计算机系 ' , ' 湖南省衡阳市 ' ) ;
向 score 表插入记录的 INSERT 语句如下:
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 ) ;

3.备份数据库school到/backup目录

复制代码
[root@localhost ~]# mysqldump -u root -p'RedHat@123' --default-character-set=utf8 school > /etc/backup/school.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@localhost ~]# ll /etc/backup/
total 4
-rw-r--r-- 1 root root 3300 Jul 21 08:43 school.sql

4.备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库

复制代码
[root@localhost ~]# mysqldump --add-drop-table -uroot -p'RedHat@123' school > /etc/backup/school1.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@localhost ~]# ll /etc/backup/
total 8
-rw-r--r-- 1 root root 3300 Jul 21 08:57 school1.sql
-rw-r--r-- 1 root root 3300 Jul 21 08:54 school.sql

5.直接将MySQL数据库压缩备份

复制代码
[root@localhost ~]# mysqldump -uroot -pRedHat@123 --all-databases |gzip > /etc/backup/all.sql.gz
mysqldump: [Warning] Using a password on the command line interface can be insecure.

6.备份MySQL数据库某个(些)表。此例备份student表

复制代码
[root@localhost ~]# mysqldump -uroot -pRedHat@123 school student > /etc/backup/school.student.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.

7.同时备份多个MySQL数据库(其他数据库素材自行准备)

复制代码
[root@localhost ~]# mysqldump -uroot -pRedHat@123 -B school my > /etc/backup/school2.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.

8.仅仅备份数据库结构

复制代码
[root@localhost backup]# mysqldump -uroot -pRedHat@123 -d school > /etc/backup/school_str.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.

9.备份服务器上所有数据库

复制代码
[root@localhost backup]# mysqldump -uroot -pRedHat@123 --all-databases > /etc/backup/all_databases.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.

10.还原MySQL数据库

复制代码
[root@localhost backup]# mysql -uroot -pRadHat@123 < /etc/backup/all_databases.sql
mysql: [Warning] Using a password on the command line interface can be insecure.

11.还原压缩的MySQL数据库

复制代码
[root@localhost backup]# gunzip < /etc/backup/all.sql.gz | mysql -uroot -pRedHat@123
mysql: [Warning] Using a password on the command line interface can be insecure.

12.使用xtrabackup 备份数据库

复制代码
[root@localhost ~]# xtrabackup --backup --user=root --password=RedHat@123 --target-dir=/etc/backup/xtr

13.在另外的数据库服务器上还原xtrabackup 备份

14.使用mydumper备份数据库

复制代码
[root@localhost ~]# mydumper -u root -p RedHat@123 -B school -o /etc/backup/

15.使用mydumper恢复数据库

复制代码
[root@localhost backup]# myloader -u root -p RedHat@123 -d /etc/backup/ -o -B school
相关推荐
欢呼的太阳7 小时前
数据库设计Step by Step (10)——范式化
服务器·数据库·oracle
喜欢的名字被抢了8 小时前
MySQL基础入门:从零理解数据库与SQL
数据库·mysql·教程
Elastic 中国社区官方博客9 小时前
如何比较两个 Elasticsearch 索引并找出缺失的文档
大数据·运维·数据库·elasticsearch·搜索引擎
DLYSB_9 小时前
生命通道:如何用 HIS 医疗系统直连网络声光终端,打造“零延误”的危急值响应网关?
java·网络·数据库·报警灯
儒雅的大叔9 小时前
MySQL数据库InnoDB数据恢复工具使用总结
数据库·mysql·adb
观远数据10 小时前
ChatBI选型对比:从意图识别到SQL修复,六个维度打分决定是否值得投产
数据库·人工智能·sql
嘉&年华10 小时前
【第008篇】通过dexp和dimp命令导出和导入dmp文件(适用于达梦数据库)
数据库·sql
哥是强混11 小时前
Means:基于 .NET 10 打造的开源自部署 S3 兼容对象存储服务
网络·数据库·.net
ffqws_11 小时前
redis面试:如何保证双写一致
数据库·redis·缓存
水无痕simon11 小时前
6 数据库同义词
数据库