首页 > 数据库 >mysql数据库备份与恢复

mysql数据库备份与恢复

时间:2023-03-25 18:13:37浏览次数:32  
标签:INSERT school 备份 INTO VALUES mysql 数据库

环境:CentOS7.9 mysql-5.7

1.数据库准备,建表

create database school;

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.向表中插入数据

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

3.备份数据库school到backup目录,模拟用户误删并恢复数据库

备份数据库school

mysqldump -uroot -proot123 school --default-character-set=utf8 > /backup/school.$(date +%F).sql

 

模拟用户误删

 

 创建并切换到数据库school,使用备份的sql文件恢复

 

 

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

mysqldump -uroot -proot123 --default-character-set=utf8 -B school > /backup/school.$(date +%F).sql

 

 

注意:-B 作用:创建数据库和切换到数据库,恢复时不用创建数据库和删表。备份多个库,-B 数据库1 数 据库2 ...

恢复

 

 

 

 

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

在备份数据库的基础上使用管道符作为gzip的输入

mysqldump -uroot -proot123 --default-character-set=utf8 -B school | gzip  > /backup/school.$(date +%F).sql.gz

 

使用mysql命令恢复

压缩还原语法

mysql>gunzip < backupfile.sql.gz | mysql -u用户名 -p密码(也可不输入) 数据库名

 

 

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

mysqldump -u 用户名 -p 数据库名 表名1 表名2 > 备份的文件名

mysqldump -uroot -proot123 --default-character-set=utf8 school student > /backup/school_student.$(date +%F).sql

 

 还原

 

 

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

mysqldump -uroot -proot123 -B school company > /backup/sc.sql

 

 

8.仅仅备份数据库结构

mysqldump -uroot -proot123 -d company > /backup/company-d.sql

 

 

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

mysqldump -uroot -proot123 -A  > /backup/all.sql

 

 10.使用mydumper 备份数据库

mydumper -u root -p root123 -S /tmp/mysql.sock -B school -o /backup/school

 

 11.myloader还原数据库

myloader -u root -p root123 -S /tmp/mysql.sock -d /backup/school -B school -o

 

 

12.xtrabackup备份数据库(MyISAM温备,InnoDB热备)

innobackupex --user=root --password=root123 --default-file=/etc/my.cnf --socket=/tmp/mysql.sock /backup/

 

 增量备份

innobackupex --incremental --user=root --password=root123 /backup/ --incremental-basedir=/backup/2023-03-25_17-44-42

 

标签:INSERT,school,备份,INTO,VALUES,mysql,数据库
From: https://www.cnblogs.com/zer02wo/p/17255266.html

相关文章

  • mysql手动实现窗口函数的方法
    背景:窗口函数是一种强大的SQL函数,它允许在查询中对一组行进行计算,而不需要将它们分组或汇总。然而,如果使用的MySQL版本不支持窗口函数,我们仍然可以通过一些技巧手动实现它......
  • golang 实现的零依赖、高性能、并发 mysqldump 工具。
    mysqldumpgolang中实现的零依赖、高性能、并发mysqldump工具。项目地址:https://github.com/dengjiawen8955/mysqldump/blob/master/README-zh.md文章地址:https:/......
  • 在windows系统中设置MySQL数据库
    MySQL搭建效果图step1:下载安装包https://downloads.mysql.com/archives/community/step2:解压后即完成安装step3:创建my.ini配置文件(注意路径)[mysqld]......
  • 2023爬虫学习笔记 -- MongoDB数据库
    一、下载安装mongodb1、下载地址https://www.mongodb.com/try/download/community2、一路下一步安装,路径不要出现空格中文等特殊字符3、设置环境变量将bin目录地址放到path......
  • mysql语句
    数据库拼接字符串updatefriendscirclesetreply=CONCAT(reply,"3333")wherename="22";//求和如果为空,默认给0selectIFNULL(sum(amount_incurred),0)from......
  • mysql怎么删除重复数据并且保留其中一条
    现在有张加班表,一个人同一天只允许申请一次加班,就是加班日期和userid相同的数据应该只有一条,但是现在由于之前没有做限制,导致很多数据重复怎么通过sql删掉重复数据思路:......
  • 阿里云数据库RDS迁移导入数据时报错:Specified key was too long; max key length is 76
    近期由于新申请了新的阿里云数据库RDS,需要把之前的数据迁移过去,结果通过各种方式去导入数据,都一直报错.报错信息:Indexcolumnsizetoolarge.Themaximumcolumnsize......
  • windows下安装mysql8方法
    系统环境及软件版本:windows11,MySQL8.0.32。windows下安装mysql有两种方法,一个下载mysql的exe可执行文件安装,比较适合小白,下载后双击执行安装包,下一步、下一步就可以。第二......
  • Java使用IntelliJ IDEA创建控制台程序并通过JDBC连接到数据库
    1、创建一个java控制台程序并测试首先,直接新建一个默认的空的Java模块即可,随便取个名字在src目录下右键->新建->创建一个包,随便取个名字在包中创建一个Test类,写个helloworld......
  • C# 操作 MySql
    C#操作MySql简介代码介绍代码实现创建数据库创建数据表查询数据事务代码示例简介工作中大多数情况下用的都是MySql但一直没有记录,相关操作。这篇文章以便MySql.Data库......