mysql的每隔1分钟定时_深入研究MySQL(四)、备份与恢复

一、前言

知道备份的重要性吗?没经历过的可能永远不知道,我们在重装系统、手机升级等时候,备份一下必要数据总是有好处的,指不定哪个神操作导致磁盘数据丢失,前些日子删库跑路被判刑的那位老哥,如果公司有备份的话,也不至于损失几个亿(听说是让绿了),所以本章来学习一下MySQL的备份与恢复,如果要定期备份的话,可以写个脚本定时执行,省去人来完成这重复的工作。

我们可以使用以下任何一种方法来生成MySQL数据库的备份:

  1. 使用mysqldump程序
  2. 使用二进制日志

在本文中,会解释如何使用mysqldump生成MySQL数据库的备份。

二、使用mysqldump程序生成备份

Mysqldump是一个命令行程序,用于生成MySQL数据库的备份。他生成的文件可以用于重新创建数据库对象和数据的SQL语句。

mysqldump -u [用户名] –p [密码] [选项] [数据库名] [表名]> [dumpfilename.sql]

参数如下:

-u [用户名]:连接到MySQL服务器的用户名。
-p [密码]:MySQL用户的密码
[option]:用于自定义备份的配置选项
[数据库名称]:要备份的数据库的名称
[表名]:这是一个可选参数。如果要获取备份特定表,则可以在命令中指定名称
[dumpfilename.sql]:备份文件的路径和名称。

1.生成单个数据库的备份

要生成单个数据库的备份,可以运行以下命令,这个命令将test数据库中的表结构和数据都保存到testdb.sql文件中。

mysqldump -u root -p test >/home/HouXinLin/test/testdb.sql

运行此命令时,会提示您输入密码,输入密码后,将在对应路径生成sql文件,内容如下。bb0150afee3a37162685a6ded7e13c22.png

2.生成多个数据库或所有数据库的备份

如果要生成多个数据库的备份,必须在mysqldump命令中添加--databases选项,以下命令将生成具有结构和数据的"test"和"db_score"数据库的备份。

mysqldump -u root -p --databases test db_score test >/home/HouXinLin/test/test_tbscoredb.sql

要生成整个数据库的备份,则需要加--all-databases选项。

mysqldump -u root -p --all-databases  >/home/HouXinLin/test/test_tbscoredb.sql

3.生成数据库结构的备份

如果仅要生成数据库结构的备份,则必须在mysqldump命令中加入–no-data选项,以下命令用于生成test数据库的数据库结构的备份。

mysqldump -u root -p --no-data test >/home/HouXinLin/test/testdb.sql

4.生成特定表的备份

如果仅要生成数据库中某个表的备份,则必须在mysqldump命令中指明表名称,以下命令用于生成test数据库中tb_books表的结构和数据备份。

mysqldump -u root -p  test tb_books >/home/HouXinLin/test/testdb.sql
5dada4b848b93df58d0829f54c140157.png

5.仅生成数据库数据备份

如果要生成仅数据库数据的备份(没有创建表的语句),则必须在mysqldump命令中加入–no-create-info 选项。以下命令生成test数据库的数据备份。

mysqldump -u root -p   --no-create-info test >/home/HouXinLin/test/testdb.sql

生成的sql中,可以看到他只有insert语句,在插入的时候,还进行了锁表。

1bab9d632297eab6b17e5bd193b48aab.png

三、恢复数据

恢复的话比较简单,通过source程序传入sql文件即可,以下是完整的备份、删库,恢复命令。

## 备份
mysqldump -u root -p test >/home/HouXinLin/test/testdb.sql

## 删除test数据库
drop database test;

## 创建数据库
create database test;

## 选择数据库
use test;

## 恢复
source /home/HouXinLin/test/testdb.sql

四、免密码导出

从上面可以发现在使用mysqldump的时候每次都需要输入密码,当然这是可以避免的

touch ~/.my.cnf

vim  ~/.my.cnf 

然后编辑其内容(编辑完不需要重启),最后在使用mysqldump中一定要取消-p参数。

[mysqldump]
user=root
password=xxxxx

其实对于这类更改方式,在我心中必须要看到某个文件对这个软件有什么影响的官方文章说明,才会安心,即使知道他确实会对软件有影响,在没看到官方对这个解释前,心中的这石头总是放不下的,所以,我在官网中找到了对一些文件的解释。

文件名目的
/etc/my.cnf全局选项
/etc/mysql/my.cnf全局选项
SYSCONFDIR/my.cnf全局选项
$MYSQL_HOME/my.cnf服务器特定的选项(仅服务器)
~/.my.cnf用户特定的选项
~/.mylogin.cnf用户特定的登录路径
DATADIR/mysqld-auto.cnf系统变量使用 SET PERSIST或 SE PERSIST_ONLY保留(仅服务器)
  1. SYSCONFDIR表示在构建MySQL时SYSCONFDIR 使用CMake选项指定的目录。

  2. MYSQL_HOME是一个环境变量,其中包含服务器特定my.cnf文件所在目录的路径。

  3. DATADIR表示MySQL数据目录。用于查找 mysqld-auto.cnf,其默认值是编译MySQL时内置的数据目录位置,但是可以通过--datadir 指定为在处理之前mysqld-auto.cnf处理的选项文件或命令行选项来更改。

五、定时备份

Linux自带一个定时任务系统,可以通过crontab -e进行添加,也可以修改/etc/crontab文件,另外这个服务的最低侦是分钟,也就是无法做到每隔x秒后去执行任务,这个服务会每分钟去读取一次 /etc/crontab 和 /var/spool/cron 里面的数据,在编辑/etc/crontab文件后,只需静静等待即可,下面以/etc/crontab为例子,在文件最后加入每隔1秒执行一次脚本,这需要对cron表达式有所了解。

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user command
17 * * * * root    cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

*/1 * * * * root  /home/HouXinLin/test/dump.sh

dump.sh

#!/bin/bash
mysqldump -u root test >/home/HouXinLin/test/testdb.sql

静静等待1分钟后,在对应的目录就会生成testdb.sql文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/513704.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重磅发布 阿里云数据中台全新产品DataTrust聚焦企业数据安全保障

简介: DataTrust(隐私增强计算产品)是基于阿里云底层多项基础安全能力,经过阿里云数据中台丰富的客户业务实践,构建的一款为企业数据安全流通的产品。 随着包括零售、制造、金融等多行业数字化转型加速推进&#xff0…

完全无人驾驶量产车Apollo Moon威马版首秀 成本降一半、能力翻10倍

2021年10 月19日,百度Apollo联合威马正式发布两款新车,新车型均基于威马W6打造。一款是配置激光雷达的新一代无人车Apollo Moon量产车型(Apollo Moon威马版);另一款是搭载百度ANP领航辅助驾驶系统与AVP自主泊车系统的量…

二阶振荡环节的谐振频率_自动控制系统时域分析十三:对数频率特性

一:对数频率特性曲线(波德图-Bode图)Bode图由对数幅频特性和对数相频特性两条曲线组成。⒈波德图坐标(横坐标是频率,纵坐标是幅值和相角)的分度:1)横坐标分度(称为频率轴):它是以频率w的对数值logw进行线性分度的。但为了便于观察…

深入分析 Flutter 渲染性能

简介: Flutter 有很多优点,特别是对于开发者来说,跨平台多端支持,丰富的 UI 组件库和交互效果,声明式 UI,React 的更新方式,Hot-reload 提高开发效率等等。虽然它在渲染性能上有不少缺陷&#x…

张勇云栖大会谈科技担当与责任:做开放共享人人受益的好科技

10月19日,2021云栖大会在杭州开幕,阿里巴巴集团董事会主席兼首席执行官张勇在主论坛致辞中表示,从万物互联到万物生长,云栖大会经过12年的轮回,正站在一个新的起点上。阿里希望在基础研究方面有更多、更扎实的社会担当…

技术干货 | 源码解析 Github 上 14.1k Star 的 RocketMQ

简介: 站在发送方视角,通过源码,来分析在事务消息发送中 RocketMQ 是如何工作的。 前言 Apache RocketMQ 作为广为人知的开源消息中间件,诞生于阿里巴巴,于 2016 年捐赠给了 Apache。从 RocketMQ 4.0 到如今最新的 v4…

编译后没有taget文件夹_matconvnet安装、编译、配置

一、安装(可见大神windows下编译Matconvnet的方法(CPU和GPU))1.(本人)安装matlab2015b、Visual Studio 20152.官网Home - MatConvNet下载matconvnet工具包,我的名字是matconvnet-1.0-beta25,然后解压文件到…

面对大规模 K8s 集群,如何先于用户发现问题?

简介: 怎样才能在复杂的大规模场景中,做到真正先于用户发现问题呢?下面我会带来我们在管理大规模 ASI 集群过程中对于快速发现问题的一些经验和实践,希望能对大家有所启发。 作者 | 彭南光(光南) 来源 | 阿…

第7届UBBF在迪拜举办 加强网络设施建设将加速产业发展成为共识

今天,由联合国宽带委员会和华为共同举办的第7届全球超宽带高峰论坛(UBBF 2021)在迪拜开幕。作为固网领域全球最大的峰会,今年的UBBF以“联接,新增长”为主题,全球领先的运营商、设备商共同围绕“网络基础设…

使用 rocketmq-spring-boot-starter 来配置、发送和消费 RocketMQ 消息

简介: 本文将 rocktmq-spring-boot 的设计实现做一个简单的介绍,读者可以通过本文了解将 RocketMQ Client 端集成为 spring-boot-starter 框架的开发细节,然后通过一个简单的示例来一步一步的讲解如何使用这个 spring-boot-starter 工具包来配…

回归的误差服从正态分布吗_盘点10大回归类型:总有一款深得你心

全文共2507字,预计学习时长5分钟除了统计模型和其他的一些算法,回归是机器学习成功运行的重要构成要素。回归的核心是寻找变量之间的关系,而机器学习需要根据这种关系来预测结果。显然,任何称职的机器学习工程师都应重视回归&…

What‘s new in dubbo-go v1.5.6

简介: dubbogo 社区近期发布了 dubbogo v1.5.6。该版本和 dubbo 2.7.8 对齐,提供了命令行工具,并提供了多种加载配置的方式。 作者 | 铁城 dubbo-go 社区 committer 来源 | 阿里巴巴云原生公众号 dubbogo 社区近期发布了 dubbogo v1.5.6。该…

华为彭松:基于C.A.F模型构建联接竞争力,创造新增长

10月19日,第七届全球超宽带高峰论坛(Ultra-Broadband Forum 2021)在迪拜开幕。期间,华为运营商BG Marketing与解决方案销售部总裁彭松发表了题为“联接,新增长”的主题演讲,定义并深入探讨了C.A.F&#xff…

关于写文章的一点经验

简介: 过去的一年,借着《如何画好一张架构图?》、《2020总结(个人篇):关于个人成长的再认知》以及《2020 总结(团队篇):招之即来,来之即战,战之必…

倒计时 3 天!1024 程序员节全日程曝光,105 场深度演讲点燃数字经济新时代

湘江之滨,岳麓山下,一年前,我们于此完成了一场备受业界关注的硬核技术与开源文化深度融合的大型技术大会——长沙中国1024程序员节,国内顶尖技术专家学者齐聚千年书院,九大操作系统掌门人共话开源技术创新、操作系统新…

13新功能_新功能简介|MySQL8.0数据查询脱敏

数据库管理员会负责维护数据的隐私和完整性。针对数据的脱敏,通常的方案是:应用端实现或者引入加密机等。不过现在MySQL8.0实现了数据脱敏这个功能,可以减少应用的复杂性、减少开发的工作量,也能友好的保护了数据的隐私和完整性。…

贝壳基于 Flink 的实时计算演进之路

简介: 贝壳找房在实时计算之路上的平台建设以及实时数仓应用。 摘要:贝壳找房大数据平台实时计算负责人刘力云带来的分享内容是贝壳找房的实时计算演进之路,内容如下: 发展历程平台建设实时数仓及其应用场景事件驱动场景未来规划G…

python动态规划详解_python----动态规划

不能放弃治疗,每天都要进步!! 什么时候使用动态规划呢? 1. 求一个问题的最优解 2. 大问题可以分解为子问题,子问题还有重叠的更小的子问题 3. 整体问题最优解取决于子问题的最优解(状态转移方程) 4. 从上往…

Flink 在唯品会的实践

简介: Flink 在唯品会的容器化实践应用以及产品化经验。 唯品会自 2017 年开始基于 k8s 深入打造高性能、稳定、可靠、易用的实时计算平台,支持唯品会内部业务在平时以及大促的平稳运行。现平台支持 Flink、Spark、Storm 等主流框架。本文主要分享 Flink…

1024 程序员节专题论坛来袭,聚焦企业级开源数据库 openGauss

技术驱动下,现代企业快速发展,产生海量的数据。被称为基础软件三驾马车之一的数据库,一直处于 IT 系统的核心地位,并在技术发展中不断变化。基础数据是“十四五”的重点关注方向,中国数据库正在快速发展崛起&#xff0…