MySQL异地备份策略容灾脚本--shell

由于公司的机器异地的是win主机,需要把linux的备份脚本远程传输到这台win上,所以我选择ftp,大家可以使用wput会好很多,而且比较强大;

[root@Mysql28 shell]# cat test.sh 
#!/bin/bash
#tar xvzfi --------commond
backupdir=/data/back_up/mysql
ip_d=192.168.155.139
full_d=cctalk_full
date_d=$(date "+%Y%m%d%H%M%S")
DataBakName=$ip_d.$date_d.$full_d.tar.gz                          --------------全备下来后的名称策略,例如;192.168.155.139.20131126134602.cctalk_full.tar.gz
ftp_backup="D:\\dbbackup\\fullbackup"                                    --------------异地的目标存放全备路径
mkdir -p $backupdir
find $backupdir -mtime +10 -type d  -exec rm -rf {} \;                 ------------剔除保留10天以外的全备脚本;
innobackupex  --user=root  --password="root" --databases="test"  --parallel=12  --no-lock --defaults-file=/etc/my.cnf --stream=tar  /data/back_up/mysql/  2>/tmp/mysqlbackup.log|gzip -1 - >/data/back_up/mysql/$DataBakName      --------innobackup的全备脚本,以及压缩,gzip -1比较快,大家可以用-9压缩的效率高,不过比较慢
ftp -v -n 192.168.25.163 << END     ---ftp,同样可以使用wput来更快更方便的传输!
user ftpuser xxxxxxx       -----------------fpt的账号和密码!
type binary
cd fullbackup
lcd $backupdir
put $DataBakName
bye
END


### 回答1: 在 MySQL 中,可以使用以下几种方法来自动备份数据库: 1. 使用 mysqldump 命令:通过定时任务(如 cron)来执行 mysqldump 命令,将数据库的数据转存到备份文件中。 2. 使用脚本:编写 shell 脚本或 Python 脚本等,定时执行该脚本,自动导出数据库数据。 3. 使用 MySQL 管理工具:比如 MySQL Workbench,提供了图形界面,可以方便地管理数据库备份。 根据个人需求和环境不同,可以选择合适的方法来自动备份 MySQL 数据库。 ### 回答2: 在MySQL中,可以使用多种方式来自动备份数据库。 其中一种常用的方式是使用定时任务工具,如cron(Linux系统)或Task Scheduler(Windows系统)。通过创建一个定时任务,我们可以编写一个脚本或命令来执行数据库备份的操作。 以下是一个使用cron来实现自动备份数据库的示例: 1. 打开终端并输入`crontab -e`来编辑cron任务。 2. 在打开的文件中添加一行类似于以下的命令: ``` 0 3 * * * mysqldump -u <用户名> -p<密码> <数据库名> > /路径/到/备份目录/备份文件名.sql ``` 这个命令会在每天凌晨3点执行数据库备份,并将备份文件保存在指定目录下。 另一种方式是使用MySQL提供的工具,如mysqldump和mysqlpump。这些工具可以通过命令行执行数据库备份操作,并提供了各种选项来控制备份的方式和内容。 以下是一个使用mysqldump来自动备份数据库的示例: 1. 创建一个名为`backup.sh`的Shell脚本文件,并在其中编写以下内容: ```bash #!/bin/bash mysqldump -u <用户名> -p<密码> <数据库名> > /路径/到/备份目录/备份文件名.sql ``` 2. 保存并退出编辑器后,使用`chmod +x backup.sh`命令将脚本文件修改为可执行文件。 3. 使用cron或其他定时任务工具,设置定时执行此脚本文件。 无论是使用定时任务还是命令行工具,自动备份数据库都需要提供正确的用户名、密码和数据库名,以及指定备份文件的路径和名称。同时,还应该确保备份文件的存储位置具有足够的磁盘空间来存储备份文件。 ### 回答3: 在MySQL中,可以使用多种方式来自动备份数据库。 1. 使用MySQL提供的内置工具:MySQL提供了多个内置工具来备份数据库,其中最常用的是mysqldump命令。可以通过编写一个shell脚本,使用该命令来备份数据库并定期执行该脚本来实现自动备份。 2. 使用第三方备份工具:有许多第三方备份工具可以帮助自动备份MySQL数据库,如Percona XtraBackup、MyDumper等。这些工具提供了更高效和灵活的备份和还原功能,并且支持增量备份和并行备份。 3. 使用计划任务:在Linux系统中,可以使用cron来设置定时任务执行备份脚本。通过设置适当的定时规则,可以实现每天、每周或每月自动备份数据库。 4. 使用存储过程:MySQL支持使用存储过程来备份数据库。可以编写一个存储过程,在其中执行备份命令,并将该存储过程与定时任务结合起来实现自动备份。 5. 使用复制功能:MySQL的复制功能可以将主数据库上的数据复制到备份数据库上。可以设置一个备份服务器,将其配置为主数据库的从服务器,并定期对从服务器进行备份。这样可以实现实时备份容灾。 需要注意的是,在备份过程中要确保备份的数据完整性和一致性。在进行生产环境的数据库备份前,应该先对备份过程进行测试,并考虑备份策略备份存储和备份恢复等方面的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值