一、业务场景

  自己现在做的项目基本上已经开发完成,正式开始上线运行,主要包含两个子项目一个是小程序的后台,一个是后台管理系统。

正式开始运行一段时间后,基本上也没什么BUG了,整个项目都已经能够正常的跑起来,程序也能够正常运转。这时候相对来说

系统也比较稳定。这时候自己就在考虑如何来备份数据库数据,做好备份工作是运维工作的必备技能之一,为的就是防止服务器

被黑客进行恶意攻击后,服务器上的所有数据都无法恢复的问题。

二、需求分析

  由于自己之前做的工作主要是在内网进行开发,即使有的项目在公网可以正常访问,生产服务器这一块自己也基本接触不到。

这导致的问题就是对于真实的服务器一些操作,自己只会一些基本的操作,比如常规的软件安装,开端口,部署项目等等。对于

数据库备份这一块自己懂得不多,对于运维这一块了解得比较少。很多东西都需要现学现卖,使用谷歌和百度来解决遇到的各种问题。

自己也私下里问过之前的同事,主要是做后端开发工作的朋友,他们有没有好的数据库备份脚本。他们给出的意见是他们没有做备份

工作,对于安全这一块也只是做一些常规的操作,比如禁止root用户远程登录,使用非root用户登录后再切换为root用户进行项目部署。

所以需要自己去学习如何备份数据库数据,去学习如何写脚本,复制、粘贴也行。

三、解决方案

经过自己的寻找,找到一个比较实用的脚本,是一个已经写好的脚本,修改里面的一些参数即可。自己使用这个脚本,修改好参数后

立马进行测试,发现竟然可行。之后就使用这个脚本来进行修改,按照项目的实际需求来不断底改进脚本。反反复复底修改多次后

自己已经将改好的脚本直接上传到服务器上,也在linux系统上设置了定时任务来执行这个脚本。主要的操作为在星期一、三、五、日

的凌晨4点执行该脚本,脚本已经添加了可执行权限,之后使用邮件将数据发送到一个指定的邮箱。

设置的执行时间如下:

过了几天后,自己来查看执行结果。发现程序正常运行,可是自己去查看接收到的具体邮件时,发现里面收到的内容并不是自己想要的。

linux下面的定时任务已经正常执行,邮件也已经正常发送,可是里面并没有自己需要的数据,说明数据库备份失败,不然怎么可能只有1kb

内存的大小。之后自己去排查问题,找了很久终于找到问题,导致这个问题的原因是在windows上写的脚本文件不能直接上传到linux服务器上

使用,因为windows和linux的字符编码不一样。解决办法之一是可以将在windows上写好的脚本文件内容复制、粘贴一份,然后在linux系统上

使用vim命令编辑脚本文件,将内容粘贴进行即可。自己做好之后,立马进行手动执行进行测试,发现这种方式可行。到此,在linux下自动备份

mysql数据库,然后将备份后的文件压缩打包发送到指定的邮件这个功能全部完成。

参考

https://blog.csdn.net/qq_34776233/article/details/90409000

linux下备份mysql数据的更多相关文章

  1. Linux下备份MySQL数据库的Shell脚本

    数据库每天都想备份,手动备份太麻烦而又容易忘记,所以写了一个自动备份MySQL数据库的脚本,加入定时计划中,每天自运运行. 创建Shell脚本代码如下,命名为mysql_dump.sh #!/bin/ ...

  2. linux定时备份mysql数据并同步到其他服务器

    (备份还原操作) ###导出数据库 /usr/bin/mysqldump -u root -pwd database > database20180808.sql ###导入数据库 mysql ...

  3. linux下备份mysql命令

    一,数据库的备份与导入 1),数据库的备份 1.导出整个数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名例:mysqldump -u dbadmin -p myblog ...

  4. linux 每天备份mysql数据

    原文:http://www.open-open.com/code/view/1433587311890 前言: 如果你的数据库文件较大,可能备份的时候需要占用很多服务器资源,所以站长要尽量选择访客最少 ...

  5. linux 下备份mysql数据库

    今天老板让备份数据库没办法自己折腾吧,下面把折腾的结果总结总结. 数据库备份思路: 1.编写脚本 2.执行脚本  哈哈,是不是很简单,打开冰箱,放入大象,关上.下面我是具体操作. 一.编写脚本 1.设 ...

  6. Linux下备份Mysql所有数据库

    需求:备份除了mysql系统数据库的所有数据库 以下为Shell脚本,只需要修改用户密码即可 MYSQL_USER=root MYSQL_PASS=123456 MYSQL_CONN="-u ...

  7. Linux下修改MySQL数据表中字段属性

    一.修改某个表的字段类型及指定为空或非空 alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空]; alter table 表名称 modify 字段名称 字段类 ...

  8. Linux下的Mysql的主从备份

    MySQL复制概述 MySQL数据库支持同步复制.单向.异步复制,在复制的过程中一个服务器充当主服务,而一个或多个服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循 ...

  9. Linux下实现mysql数据库每天自动备份

    Linux下实现mysql数据库每天自动备份 1.基本操作步骤 a.创建备份目录 mkdir -m 777 /home/wwwroot/backup b.创建备份脚本sh vim /home/wwwr ...

随机推荐

  1. 【C/C++】例题3-6 环状序列/算法竞赛入门经典/数组和字符串

    [字典序比较] 对于两个字符串,比较字典序,从第一个开始,如果有两位不一样的出现,那么哪个的ASCII码小,就是字典序较小.如果都一样,那么短的小. [题目] 输入一个环状串,输出最小的字典序序列. ...

  2. 项目开发中,真的有必要定义VO,BO,PO,DO,DTO这些吗?

    存在即是合理的,业务复杂,人员协同性要求高的场景下,这些规范性的东西不按着来虽然不会出错,程序照样跑,但是遵守规范会让程序更具扩展性和可读性,都是前辈血淋淋的宝贵经验,为什么不用? 随着现在后端编程标 ...

  3. Jenkins监控

    目录 一.Monitoring插件 二.Prometheus监控 一.Monitoring插件 Monitoring插件(monitoring)使用JavaMelody,对Jenkins进行监控.插件 ...

  4. 关于某 App 请求参数 sign 字段加密分析

    受害者: 6ZqG5LyX5pWw5o2u 通过 Charles 抓包发现关键信息请求均携带 sign 参数,且每次请求的值都不一样: 使用 jadx 将对应的 apk 反编译并分析,全局搜素 &qu ...

  5. 混沌映射初始化种群之Logistic映射

    Logstic混沌映射初始化种群 Step 1:     随机生成一个\(d\)维向量\({X_0}\),向量的每个分量在0-1之间. Step 2:     利用Logistic映射生成N个向量.L ...

  6. [BUUCTF]PWN——[V&N2020 公开赛]babybabypwn

    [V&N2020 公开赛]babybabypwn 附件 步骤: 例行检查,64位程序,保护全开 本地试运行一下,看看程序的大概情况 64位ida载入,看一下main函数 sub_1202()函 ...

  7. others_babystack

    一道泄露canary+rop常规的题. 这道题让我学习到了,原来canary的最后一位是\x00,又因为是小端存储,所以在内存中我位置是在开头的. 来,下载文件检查一下保护. 开启了canary和nx ...

  8. 在【自定义列】中编辑简单运算公式(Power Query 之 M 语言)

    数据源: "品名"."数量"."单价"三列 目标: 计算销售单价(单价*1.2) 解决方案: 在[自定义列]中使用乘法四则运算 步骤: 打开 ...

  9. shiro验证时,当authenticationStrategy为AllSuccessfulStrategy时

    shiro验证时,当authenticationStrategy为AllSuccessfulStrategy时,如果某一个验证出错,那么 PrincipalCollection principalCo ...

  10. Hibernate 批量update数据时,怎么样做可以回滚,

    Hibernate 批量update数据时,怎么样做可以回滚, 1.serviceManagerDaoImpl代码里对异常不进行try,catch抛出, 2.或者抛出throw new Runtime ...