Linux服务器数据库(MySQL、ORACLE)简单的异地备份方案

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

Linux服务器MySQL数据库简单的异地备份方案

首先简单说下:

1、执行脚本导出数据库。

mysqldump -h127.0.0.1 -P3306 -uroot -ppassword dbname > /bak/db/backup.sql

2、使用scp将导出的数据库文件传输到其他服务器上,一般进行异地备份,容灾。

scp -P 195 /bak/db/backup.sql root@xxx.xxx.xxx.xxx:/bak

其中195为ssh端口号,如果是默认的22,可以省略 -P 22。

-----------------------------------------------------------------------------------------------------------------

现在需要编写一个sh脚本,并设定到定时任务中

sh脚本内容如下:

#!/bin/sh

filename=`date '+%Y%m%d-%H%M%S'`
filename="${filename}bak.sql"

mysqldump -h127.0.0.1 -P3306 -uroot -ppassword dbname > /bak/db/${filename}

scp -P 195 /bak/db/${filename} root@xxx.xxx.xxx.xxx:/bak

echo "success"

sh文件不要忘记使用 chmod +x backup.sh 进行授予可执行权限。

假设我们将sh文件存放与opt目录下,需要配置一下定时任务

编辑文件:vi /etc/crontab 设定每天凌晨4点半执行

30 04 * * * root /bin/sh /opt/db/backup-database.sh

可以使用命令:cat /var/log/cron  查看定时任务执行日志

如上处理后,服务器就会自动进行数据库备份并上传到异地服务器上了,但是有个问题还需要解决,那就是让scp命令不需要密码才行。

具体配置方法参考我的另一篇博客:http://blog.csdn.net/catoop/article/details/8284803


下面说一下oracle与mysql的不同之处

oracle备份一般情况需要使用 su - oracle 切换到oracle用户下才能执行,下面说一下直接在root用户下如何进行操作。

特殊的地方就是,有的操作需要root用户(比如无密码scp操作,我这里只是举例),有的操作需要oracle用户(exp导出用户)。

关键命令:su - oracle -c "/opt/expdatabase.sh"

意思是在root用户下不需要切换到oracle用户,而直接使用oracle用户的角色执行 expdatabase.sh 文件。

我们需要在 root 下的 sh 文件中调用 expdatabase.sh 文件。

shell 脚本如下:

1、主 sh 脚本,root 执行

#!/bin/sh

filename=`date '+%Y%m%d-%H%M%S'`
filename="${filename}bak.dmp"

su - oracle -c "/u01/oradata/bak/expdatabase.sh ${filename}"

scp -P 195 /u01/oradata/bak/${filename} root@124.207.35.132:/bak/202.102.41.35

echo "Execution completed"

2、需要用oracle用户的角色来执行的sh脚本 expdatabase.sh

#!/bin/sh

#进入oracle home
cd /u01/oracle
#加载oracle用户环境变量
. ./.bash_profile

exp user/password@clmt file=/u01/oradata/bak/$1 full=y
 





相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5天前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
8天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
161 1
|
11天前
|
存储 Unix Linux
服务器数据恢复—DELL EqualLogic PS6100系列存储简介及发生故障后的处理方案
DELL EqualLogic PS6100系列存储采用虚拟ISCSI SAN阵列,支持VMware、Solaris、Linux、Mac、HP-UX、AIX操作系统,提供全套企业级数据保护和管理功能,具有可扩展性和容错功能。
|
5天前
|
存储 Oracle 关系型数据库
oracle服务器存储过程中调用http
通过配置权限、创建和调用存储过程,您可以在Oracle数据库中使用UTL_HTTP包发起HTTP请求。这使得Oracle存储过程可以与外部HTTP服务进行交互,从而实现更复杂的数据处理和集成。在实际应用中,根据具体需求调整请求类型和错误处理逻辑,以确保系统的稳定性和可靠性。
8 0
|
1月前
|
应用服务中间件 PHP Apache
PbootCMS提示错误信息“未检测到您服务器环境的sqlite3数据库扩展...”
PbootCMS提示错误信息“未检测到您服务器环境的sqlite3数据库扩展...”
|
1月前
|
SQL 数据库
SQL-serve数据库不能连接本地服务器的解决方案
SQL-serve数据库不能连接本地服务器的解决方案
128 0
|
4天前
|
弹性计算
阿里云2核16G服务器多少钱一年?亲测价格查询1个月和1小时收费标准
阿里云2核16G服务器提供多种ECS实例规格,内存型r8i实例1年6折优惠价为1901元,按月收费334.19元,按小时收费0.696221元。更多规格及详细报价请访问阿里云ECS页面。
37 9
|
1天前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
5天前
|
弹性计算 异构计算
2024年阿里云GPU服务器多少钱1小时?亲测价格查询方法
2024年阿里云GPU服务器每小时收费因实例规格不同而异。可通过阿里云GPU服务器页面选择“按量付费”查看具体价格。例如,NVIDIA A100的gn7e实例为34.742元/小时,NVIDIA A10的gn7i实例为12.710156元/小时。更多详情请访问阿里云官网。
34 2
|
10天前
|
存储 弹性计算 NoSQL
"从入门到实践,全方位解析云服务器ECS的秘密——手把手教你轻松驾驭阿里云的强大计算力!"
【10月更文挑战第23天】云服务器ECS(Elastic Compute Service)是阿里云提供的基础云计算服务,允许用户在云端租用和管理虚拟服务器。ECS具有弹性伸缩、按需付费、简单易用等特点,适用于网站托管、数据库部署、大数据分析等多种场景。本文介绍ECS的基本概念、使用场景及快速上手指南。
40 3