mysql备份与还原和视图索引存储过程练习

MySQL备份/恢复、索引、视图简述与练习 视图通过以定制的⽅式显⽰来⾃⼀个或多个表的数据 视图是⼀种数据库对象,⽤⼾可以像查询普通表⼀样查询视图 视图内其实没有存储任何数据 ,它只是对表的⼀个查询 视图的定义保存在数据字典内,创建视图所基于对表称为“基表”。视图是一个虚拟表,其内容由查询定义。数据库中只存放了视图的定义,而并没有存放视图中的数据,这些数据存放在原来的表中。 阅读详情

数据库的备份与还原

作业:
数据库备份,数据库为school,素材如下

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

创建score表。SQL代码如下:

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);
  1. 备份数据库students到/backup目录
[root@localhost ~]# mkdir -p /backup/mysql
# 备份数据库
[root@localhost ~]# mysqldump -uroot -predhat123 student > /backup/mysql/school.sql
# 加上-B参数,备份数据库时创建数据库和切换数据库
[root@localhost ~]# mysqldump -uroot -predhat123 -B student > /backup/mysql/school_2.sql
# 备份时,压缩备份文件
[root@localhost ~]# mysqldump -uroot -predhat123 -B student | gzip > /backup/mysql/school_3.sql.gz

在这里插入图片描述

  1. 备份MySQL数据库test为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库
[root@localhost mysql]# mysqldump --add-drop-table -uroot -predhat123 test > t2.sql

在这里插入图片描述

  1. 直接将MySQL数据库test压缩备份
[root@localhost mysql]# mysqldump -uroot -predhat123 -B test | gzip > /backup/mysql/t3.sql.gz

在这里插入图片描述

  1. 备份MySQL数据库Ttest某个(些)表。此例备份student表
[root@localhost ~]# mysqldump -uroot -predhat123 test student > /backup/mysql/t4.sql

在这里插入图片描述

  1. 同时备份多个MySQL数据库(其他数据库素材自行准备),此例为数据库test和数据库students
[root@localhost ~]# mysqldump -uroot -predhat123 --databases test students > /backup/mysql/t5.sql

在这里插入图片描述

  1. 仅仅备份数据库结构
[root@localhost mysql]# mysqldump --no-data -uroot -predhat123 --databases test students > /backup/mysql/t6.sql

在这里插入图片描述
9. 备份服务器上所有数据库

[root@localhost mysql]# mysqldump --all-databases -uroot -predhat123> /backup/mysql/t7.sql

在这里插入图片描述

  1. 还原MySQL数据库test
# 直接导入可能会报错,在 mysql 执行 reset master命令,退出后再执行还原命令即可
'''
报错内容:
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1840 (HY000) at line 24: @@GLOBAL.GTID_PURGED can only be set when @@GLOBAL.GTID_EXECUTED is empty.
'''
 
mysql> reset master;
[root@localhost ~]# mysql -uroot -predhat123 test < /home/mysql/school_2.sql
 
# 如果数据库被误删,备份时语句应该加上-B参数,否则会报ERROR 1049 (42000): Unknown database 'zuoye_5'
  1. 还原压缩的MySQL数据库
# 方法一:直接恢复
[root@localhost mysql]# zcat t1_3.sql.gz | mysql -uroot -predhat123
# 方法二:解压后在 mysql 命令行恢复
[root@localhost mysql]# gzip -d school_3.sql.gz
mysql> source /home/mysql/school_3.sql
  1. 使用xtrabackup 备份数据库
[root@localhost mysql ~]# innobackupex -u root -p redhat123 --no-timestamp /backup/mysql/full_$(date +%F)
  1. 在另外的数据库服务器上还原xtrabackup 备份
# 应用日志文件的数据
[root@localhost-mysql ~]# innobackupex -u root -p redhat123 --apply-log /backup/mysql/full_2022-9-12/
# 停止 mysql 服务
[root@localhost-mysql ~]# systemctl stop mysqld
# 删除 mysql 数据目录中的文件
[root@localhost-mysql ~]# rm -rf /var/lib/mysql/*
# 恢复数据
[root@localhost-mysql ~]# innobackupex --copy-back /backup/mysql/full_2021-9-12/
# 修改目录所属者、所属组
[root@localhost-mysql ~]# chmod -R mysql.mysql /var/lib/mysql/*
# 启动 mysqld 服务
[root@localhost-mysql ~]# systemctl start mysql
  1. 使用mydumper备份数据库

备份数据库

# mydumper工具备份
[root@localhost-mysql ~]# mydumper -u root -p redhat123 -B test -o /mysql_back
 
# mydumper工具备份,同时压缩
[root@localhost-mysql ~]# mydumper -u root -p redhat123 -B test -c -o /mysql_back
 
# 备份表
[root@localhost-mysql ~]# mydumper -u root -p redhat123 -B test -T school,score -o /backup/tables
  1. 使用mydumper恢复数据库
# 恢复文件
localhost-mysql
[root@localhost-mysql ~]# myloader -u root -p redhat123 -B it -o -d /mysql_back/
# 恢复表
[root@localhost-mysql ~]# myloader -u root -p redhat123 -d /backup/tables/ -o -B school

视图索引存储过程

作业:
创建表并插入数据

字段名数据类型主键外键非空唯一自增
idINT是否是是否
nameVARCHAR(50)否否是否否
glassVARCHAR(50)否否是否否

sch 表内容

idnameglass
1xiaommgglass
2xiaojunglass
mysql> use test_m;
Database changed
mysql> create table sch(
    -> id int primary key unique not null,
    -> name varchar(50) not null,
    -> glass varchar(50) not null);
Query OK, 0 rows affected (0.02 sec)

mysql> insert into sch values
    -> (1,'xiaoming','glass1'),
    -> (2,'xiaojun','glass2');

1、创建一个可以统计表格内记录条数的存储函数 ,函数名为count_sch()

\d /
create function count_sch() 
returns int
 begin 
 declare i int default 0; 
 select count(1) into  i from sch; 
 return i; 
 end/

2、创建一个存储过程avg_sai,有3个参数,分别是deptno,job,接收平均工资, 功能查询emp表dept为30,job为销售员的平均工资。

create procedure avg_sal(in p1 int,in p2 varchar(50),out avg_salary float)
 begin 
 select avg(sal) into avg_salary from emp
where deptno =p1 and job = p2;
end/

call avg_sal(30,'销售员',@a)/
select @a/

MySQL数据备份与还原、索引、视图 ***************************样例表***************************//***************************样例表***************************/3、删除 goods 表中的 goods_desc 字段及货号字段,并增加 click_count 字段。学生表:Student (Sno, Sname, Ssex , Sage, Sdept)1、创建一视图 stu_info,查询全体学生的姓名,性别,课程名,成绩。 阅读详情

相关推荐

索引、视图与存储过程

索引 一,概念 索引室友数据库表中一列或者多列组合而成,其作用是提高对表中数据的查询速度。类似于图书的目录,方便快速定位,寻找指定的内容。 索引也是一张表,它保存了主键与索引字段,并指向实体表的记录。 二,索引的优缺点 优点:大大提高了查询数据的速度。 缺点:会大大降低更新表的速度,如对表进行INSERT UPDATE和DELETE。因为在更新表时,MySQL不仅要保存数据,还要保存一下索引文件,建立索引会占用磁盘空间的索引文件。 三,索引的分类 1.普通索引 是最基本的索引,没有任何限制。 创建索引: C

weixin_46316835的博客 774

MySQL之存储过程、存储函数、备份还原、索引及视图

MySQL之存储过程、存储函数、备份还原、索引及视图

Figust_07的博客 1925

MySQL存储过程的备份和还原技巧

请确保将上述示例代码中的"your_username"替换为你的MySQL用户名,"your_database_name"替换为你的数据库名称,"your_procedure_name"替换为你要备份和还原的存储过程名称,以及"your_procedure_create_statement"替换为实际的存储过程创建语句。在MySQL数据库中,存储过程是一种存储在数据库中的预编译程序,用于执行特定的数据库操作。本文将介绍一些备份和还原MySQL存储过程的技巧,并提供相应的源代码示例。登录到MySQL数据库。

QvisCs的博客 522

MySQL 视图、函数和存储过程

MySQL 是一种流行的关系型数据库管理系统,其具有强大的功能和灵活性,使其成为了许多企业和个人喜爱的数据库选择。在 MySQL 中,视图、函数和存储过程是常见的数据库对象,它们都有助于提高数据的处理效率和可重用性

Java老兵的后端进阶与AI前沿探索之路。 697

MySQL操作之数据备份与还原

一、概念 为了保证数据的安全,需要定期对数据库进行备份。 这样数据库中数据丢失或者出错的情况下,就可以对数据进行还原,从而最大限度的降低损失。 二、数据的备份 提供了mysqldump命令,可以实现数据的备份。 可以备份单个数据库、多个数据库和所有数据库。 mysqldump可以直接在DOS命令窗口中执行,不需要登录数据库。 2.1 备份单个数据库 mysqldump -uusername -ppassword dbname [tbname [tbname2...]] >filename.sql

lydms的博客 1万+

mysql存储过程——用于数据库的备份与还原

数据库备份的存储过程,创建一个备份库,表自动搜索和复制,可以自定义要备份的表

Mysql第三课--备份、还原、视图

1.备份与还原(备份,将数据的结构与表内数据保存起来。利用 mysqldump 指令完成。) -- 导出 mysqldump [options] db_name [tables] mysqldump [options] ---database DB1 [DB2 DB3...] mysqldump [options] --all--database 1. 导出一张表 mysqldump -u用户名...

阅读之后,对你有帮助,那就点个赞再走吧 498

如何用Python实现SPEI指数计算?从数据准备到结果可视化完整指南

本文提供了一份完整的Python实现SPEI指数计算指南,涵盖从数据准备、潜在蒸散量计算到结果可视化的全流程。详细介绍了使用Thornthwaite方法计算PET、拟合三参数log-logistic分布以及标准化转换的核心算法,并提供了模块化代码和可视化方案,帮助用户构建可复用的干旱分析工具。

cola5的博客 267

06、MySQL视图及数据备份还原

视图及数据备份与还原  视图 概念: 是一种有结构(有行有列)但是没有结果(不真实存放数据)的虚拟表。 来源:结构来源不是自己定义,数据来源也不是来源于虚拟表本身,而是从对应的基表中产生。  视图的创建: 基本语法: create view 视图名字 as select 语句(对于这条select语句,可以是普通查询,可以是连接查询,可以是联合查询,可以是子查询)

未眠人的博客 1169

手把手教你用Isograph Reliability Workbench 14.0绘制可靠性方框图(RBD)

本文详细介绍了如何使用Isograph Reliability Workbench 14.0绘制可靠性方框图(RBD),从软件安装、界面设置到基础项目创建和高级功能应用,手把手指导工程师完成系统可靠性分析。通过实际案例演示,帮助用户掌握RBD建模技巧,提升系统可靠性评估效率。

weixin_26765287的博客 620

uni-app一键登录实战:从云函数配置到前端调用的完整指南

本文详细介绍了uni-app中一键登录功能的实现方法,从DCloud控制台配置到云函数开发,再到前端调用全流程。通过一键登录,用户无需输入账号密码即可快速使用本机手机号登录,显著提升用户体验和登录转化率。文章还提供了常见问题排查和安全合规要点,帮助开发者高效完成集成。

weixin_29291573的博客 445

【测试开发学习历程】MySQL增删改操作 + 备份与还原 + 索引、视图、存储过程

傲世世间无天险 ~ ~

一个小菜鸡的成长历程 1363

Cartool实战:手把手教你完成静息态EEG微状态分析的组水平聚类与模板匹配

本文详细解析了使用Cartool进行静息态EEG微状态分析的组水平聚类与模板匹配全流程。从数据准备、算法选择到参数优化,提供了k-means与T-AAHC算法的实操建议,帮助研究者避开常见陷阱,获得可靠分析结果。特别针对最优类别数确定、模板匹配参数设置等核心环节进行深入探讨,适用于认知神经科学领域的EEG微状态研究。

weixin_31220401的博客 262

mysql备份还原(视图、存储过程)

最近在备份还原mysql的时候发现,视图还原报错,无法创建视图,在网上查了下资料,找到以下信息: 1、如果备份的数据库含有视图,还原时需要把my.ini中的character-set改为latin1,才能够还原视图。 2、还原后,需要把latin1改为gb2312,否则存储过程不能使用. 3、存储过程不能随着数据库备份,对于存储过程的还原,还是通过手工复制SQL语句,在QUERY里执行。

深秋的竹子--依旧笑寒风 1279

【QML初学者文档】一问读懂QML基础开发(内附大量简单源码)

QML是Qt的一大特色,拥有强大的UI制作能力。但是想要学好QML,还需要一些细节和技巧的掌握。本篇文章将为你提供完整的QML知识体系,让你成为Qt的UI魔法师!

BenBierBa的博客 2万+

BitLocker加密盘解密实战:从隐藏分区到密钥恢复的全过程

本文深入探讨了BitLocker加密盘在密钥丢失或遗忘情况下的解密实战方法。文章系统性地介绍了从理解加密机制、制作取证镜像,到深度扫描隐藏分区、分析内存转储寻找密钥残留,最终利用恢复密钥解锁加密卷的全过程。重点剖析了非标准恢复路径,为数据恢复和数字取证工作提供了专业的技术框架和实战思路。

weixin_29268385的博客 332

【MySQL备份与还原、索引、视图】练习

先删除table查看。

HealerCCX的博客 1700

告别手动输入!用Burp插件+ddddocr,5分钟搞定图片验证码自动识别

本文详细介绍了如何利用Burp插件和ddddocr开源库快速构建图片验证码自动识别系统,实现高效、零成本的验证码自动化解决方案。通过环境搭建、性能调优和Burp Suite深度集成,显著提升安全测试效率,特别适用于金融和电商系统的批量测试场景。

weixin_29099217的博客 200

MySQL备份与还原/索引/视图

MySQL备份与还原/索引/视图练习

weixin_53283555的博客 754

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

MySQL数据库备份还原,索引与视图

MySQL数据库备份还原,索引与视图

m0_70940822的博客 1699

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

04、MySQL索引&视图&存储过程

04、MySQL索引&视图&存储过程1. MySQL 索引1.1 什么是索引1.2 常见索引分类1.2.1 主键索引 (PRIMARY KEY)1.2.2 唯一索引(UNIQUE)1.2.3 普通索引 (INDEX)1.2.4 删除索引1.3 索引性能测试1.3.1 导入数据表1.3.2 测试1.4 索引的优缺点总结2. MySQL 视图2.1 什么是视图2.2 视图的作用2.3 视图的使用2.3.1 创建视图2.3.2 通过视图进行查询2.4 视图与表的区别3. MySQL 存储过程(了解

weixin_44796239的博客 1159

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

MySQL的备份还原以及视图和索引练习

MySQL的备份还原以及视图和索引练习

qq_69020318的博客 211

MySQL备份与还原\索引\视图练习

要先在MySQL数据库中删除表所含有的外键 然后删除表才能进行还原。首先创建备份数据所在的目录。

zyh02727的博客 254

Mysql之视图,索引及数据的备份与恢复

MySQL的视图,索引以及数据的备份与恢复,数据库如何调优

weixin_74268571的博客 1449

MYSQL存储过程和存储函数-数据库实验五

1. 掌握通过 SQL 语句 CREATE PROCEDURE 创建存储过程的方法。2. 掌握使用 SQL 语句 CALL 调用存储过程的方法。3. 掌握使用 SQL 语句 ALTER PROCEDURE 修改存储过程的方法。4. 掌握使用 SQL 语句 DROP PROCEDURE 删除存储过程的方法。5. 掌握使用 CREATE FUNCTION 创建存储函数的方法。6. 掌握使用 SQL 语句 ALTER FUNCTION 修改存储函数的方法。7. 掌握使用 SQL 语句 DROP FUNCTION

m0_51657509的博客 8905
上一篇: MySQL主从复制
下一篇: Redis主从复制配置
蒋猪猪
博客等级 码龄6年 1186粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值