热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据库备份_服务器数据库备份到另外一个服务器的数据库

篇首语:本文由编程笔记#小编为大家整理,主要介绍了服务器数据库备份到另外一个服务器的数据库相关的知识,希望对你有一定的参考价值。数据库备份1、在CentOS

篇首语:本文由编程笔记#小编为大家整理,主要介绍了服务器数据库备份到另外一个服务器的数据库相关的知识,希望对你有一定的参考价值。


数据库备份
1、在 CentOS7 中安装 rsync
yum -y install rsync
2、用密钥实现免密登录
由于需要使用命令行传输文件,不方便输入密码,所以在服务器 A 中配置 ssh 免密登录,配置成功后,服务器 A 登录服务器 B 时就不需要输入密码就可以登录了。
(1)生成公钥
在服务器 A 中输入命令:
ssh-keygen
该命令会生成一个公钥,执行命令后,在 ~/.ssh/ 会出现两个新文件:
生成公钥
(2)将公钥传输到服务器 B 中
在服务器 A 中输入命令:
ssh-copy-id root@B服务器ip

或者

ssh-copy-id -i ~/.ssh/id_rsa.pub root@B服务器ip
从此以后,在服务器 A 中使用 ssh 方式登录服务器 B 就不需要输入密码了。
3、在服务器 A 中书写脚本 backup.sh
这个脚本主要的作用是将要备份的数据导出为一个 SQL 脚本,并将这个脚本传输到服务器 B 的指定目录中:
#!/bin/bash
# 将 woods数据库 导出为一个 SQL 脚本
mysqldump -h服务器A的IP -u用户名 -p密码 woods > /etc/backup/sql/woods`date +%Y%m%d%H%M%S`.sql
# 同步目录(传输新增文件到服务器的B的指定目录)
rsync -arv --delete /etc/backup/sql/ root@服务器B的IP:/etc/backup/sql/
这个脚本做了两个操作:
将 woods数据库 导出为一个 SQL 脚本,这个脚本的命名带上了当前时间。
会将服务器A的 /etc/backup/sql/ 目录与服务器 B 的 /etc/backup/sql/ 目录进行同步。
4、将 backup.sh 加上可执行权限
在服务器 A 中输入命令:

//chmod 744 /usr/local/backup.sh
chmod 744 /home/backup/local/backup.sh

5、测试 backup.sh 是否达到预期的效果
在服务器 A 中输入命令:

sh /usr/local/backup.sh
执行完毕后,查看是否已经生成了备份文件:

是否已经生成了备份文件

6、添加定时任务
输入命令:

crontab -e
在打开的文件中加入如下内容:

0 1 * * * sh /usr/local/backup.sh
这个意思是每天凌晨 1 点执行脚本。关于 crontab 表达式的更多内容就不在这里说了,感兴趣的可以自己去搜索引擎搜索 crontab 表达式自行学习。

(二)、在服务器 B 上需要进行的操作
注意:以下命令全部在服务器 B 上进行。

1、书写脚本 reduction.sh
这个脚本的作用是执行从服务器 A 中传入过来的 SQL 脚本:

#!/bin/bash
# 找到当天的备份文件的位置并存入到变量 woods_file
woods_file=$(find /etc/backup/sql -name woods`date +%Y%m%d*`)

# 一个 if 判断,意思是如果变量 woods_file 字符串不为空,就执行 then 后面的命令
if [ -n $woods_file ]
then
echo $woods_file
# 执行查找到的 MySQL 脚本
mysql -u用户名 -p密码 数据库名 --default-character-set=utf8 -A -e "source "$woods_file

fi
注意,MySQL 一定已经有你要备份的数据库,mysqldump 导出的 SQL 脚本没有带创建数据库的命令,所以没有就要先自行创建。

2、测试 reduction.sh 是否达到预期效果
sh /usr/local/reduction.sh
执行脚本,查看数据库的内容是否已经变化为备份文件的内容,如果没有发生变化,请根据报错提示,进行排查。

3、设置定时任务
设置定时任务定期执行脚本 reduction.sh

输入命令:

crontab -e
在打开的文件中加入如下内容:

30 1 * * * sh /usr/local/reduction.sh
这个意思是每天凌晨 1 点 30 分执行脚本。

该文章引用自:https://segmentfault.com/a/1190000022525635


推荐阅读
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • PHP预处理常量详解:如何定义与使用常量 ... [详细]
  • Amoeba 通过优化 MySQL 的读写分离功能显著提升了数据库性能。作为一款基于 MySQL 协议的代理工具,Amoeba 能够高效地处理应用程序的请求,并根据预设的规则将 SQL 请求智能地分配到不同的数据库实例,从而实现负载均衡和高可用性。该方案不仅提高了系统的并发处理能力,还有效减少了主数据库的负担,确保了数据的一致性和可靠性。 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 本文详细介绍了在CentOS 6.5 64位系统上使用阿里云ECS服务器搭建LAMP环境的具体步骤。首先,通过PuTTY工具实现远程连接至服务器。接着,检查当前系统的磁盘空间使用情况,确保有足够的空间进行后续操作,可使用 `df` 命令进行查看。此外,文章还涵盖了安装和配置Apache、MySQL和PHP的相关步骤,以及常见问题的解决方法,帮助用户顺利完成LAMP环境的搭建。 ... [详细]
  • 体积小巧的vsftpd与pureftpd Docker镜像在Unraid系统中的详细配置指南:支持TLS加密及IPv6协议
    本文详细介绍了如何在Unraid系统中配置体积小巧的vsftpd和Pure-FTPd Docker镜像,以支持TLS加密和IPv6协议。通过这些配置,用户可以实现安全、高效的文件传输服务,适用于各种网络环境。配置过程包括镜像的选择、环境变量的设置以及必要的安全措施,确保了系统的稳定性和数据的安全性。 ... [详细]
  • 基于Linux系统的Kickstart自动化服务器部署方案
    本文针对企业需求,提出了一种基于Linux系统的Kickstart自动化服务器部署方案。该方案旨在通过无盘批量安装操作系统,提高企业IT基础设施的部署效率。Kickstart是一种利用Anaconda工具实现服务器自动化安装的技术,能够显著简化和加速操作系统的安装过程。通过详细的实施规划,本文介绍了Kickstart的工作原理及其在实际部署中的应用,为企业提供了高效的自动化部署解决方案。 ... [详细]
  • Vi编辑器的工作模式有哪些?如何在不同模式间切换?
    Vi编辑器是Linux系统中常用的文本编辑工具,具备三种主要工作模式:命令模式、插入模式和底行模式。用户可以通过特定的按键组合在这些模式之间进行切换,以实现不同的编辑功能。例如,在命令模式下,用户可以执行移动光标、删除文本等操作;而在插入模式下,则可以输入或修改文本内容。底行模式则用于执行保存文件、退出编辑器等命令。 ... [详细]
  • 本指南详细介绍了在Linux环境中高效连接MySQL数据库的方法。用户可以通过安装并使用`mysql`客户端工具来实现本地连接,具体命令为:`mysql -u 用户名 -p 密码 -h 主机`。例如,使用管理员账户连接本地MySQL服务器的命令为:`mysql -u root -p pass`。此外,还提供了多种配置优化建议,以确保连接过程更加稳定和高效。 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • CTF竞赛中文件上传技巧与安全绕过方法深入解析
    CTF竞赛中文件上传技巧与安全绕过方法深入解析 ... [详细]
  • 本文详细探讨了在ASP.NET环境中通过加密数据库连接字符串来提升数据安全性的方法。加密技术不仅能够有效防止敏感信息泄露,还能增强应用程序的整体安全性。文中介绍了多种加密手段及其实施步骤,帮助开发者在日常开发过程中更好地保护数据库连接信息,确保数据传输的安全可靠。 ... [详细]
  • 本文介绍了UUID(通用唯一标识符)的概念及其在JavaScript中生成Java兼容UUID的代码实现与优化技巧。UUID是一个128位的唯一标识符,广泛应用于分布式系统中以确保唯一性。文章详细探讨了如何利用JavaScript生成符合Java标准的UUID,并提供了多种优化方法,以提高生成效率和兼容性。 ... [详细]
author-avatar
Y_虞儿
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有