最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:动视网 责编:小采 时间:2020-11-09 18:27:57
文档

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

Linux服务器数据库(MySQL、ORACLE)简单的异地备份方案_MySQL:bitsCN.com Linux服务器数据库(MySQL、ORACLE)简单的异地备份方案 Linux服务器MySQL数据库简单的异地备份方案首先简单说下: 1、执行脚本导出数据库。 mysqldump -h127.0.0.1 -P3306 -uroot -ppassword dbname > /bak/db
推荐度:
导读Linux服务器数据库(MySQL、ORACLE)简单的异地备份方案_MySQL:bitsCN.com Linux服务器数据库(MySQL、ORACLE)简单的异地备份方案 Linux服务器MySQL数据库简单的异地备份方案首先简单说下: 1、执行脚本导出数据库。 mysqldump -h127.0.0.1 -P3306 -uroot -ppassword dbname > /bak/db


bitsCN.com


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

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脚本内容如下:

[java]

#!/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:///os/201212/175290.html

下面说一下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 执行

[java]

#!/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

[java]

#!/bin/sh

#进入oracle home

cd /u01/oracle

#加载oracle用户环境变量

. ./.bash_profile

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

bitsCN.com

文档

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

Linux服务器数据库(MySQL、ORACLE)简单的异地备份方案_MySQL:bitsCN.com Linux服务器数据库(MySQL、ORACLE)简单的异地备份方案 Linux服务器MySQL数据库简单的异地备份方案首先简单说下: 1、执行脚本导出数据库。 mysqldump -h127.0.0.1 -P3306 -uroot -ppassword dbname > /bak/db
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top