linux mysql 怎么定时备份数据库
1、查看磁盘空间情况:
既然是定时备份,就要选择一个空间充足的磁盘空间,避免出现因空间不足导致备份失败,数据丢失的恶果!
存储到当前磁盘这是最简单,却是最不推荐的;服务器有多块硬盘,最好是把备份存放到另一块硬盘上;有条件就选择更好更安全的存储介质;
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 50G 46G 1.6G 97% /
tmpfs 1.9G 92K 1.9G 1% /dev/shm
/dev/sda1 485M 39M 421M 9% /boot
/dev/mapper/VolGroup-lv_home 534G 3.6G 503G 1% /home123456123456
2、创建备份目录:
上面我们使用命令看出/home下空间比较充足,所以可以考虑在/home保存备份文件;
cd /home
mkdir backup
cd backup123123
3、创建备份Shell脚本:
注意把以下命令中的DatabaseName换为实际的数据库名称;
当然,你也可以使用其实的命名规则!
vi bkDatabaseName.sh11
输入/粘贴以下内容:
#!/bin/bash
mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql1212
对备份进行压缩:
#!/bin/bash
mysqldump -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz1212
注意:
把 username 替换为实际的用户名;
把 password 替换为实际的密码;
把 DatabaseName 替换为实际的数据库名;
4、添加可执行权限:
chmod u+x bkDatabaseName.sh11
添加可执行权限之后先执行一下,看看脚本有没有错误,能不能正常使用;
./bkDatabaseName.sh11
5、添加计划任务
检测或安装 crontab
确认crontab是否安装:
执行 crontab 命令如果报 command not found,就表明没有安装
# crontab
-bash: crontab: command not found
如何实现Mysql数据库每天自动备份定时备份
利用UCache灾备云平台,可作为一个工具,在window服务器现有架构不变的情况下,针对Mysql数据库每天自动备份定时备份。(1)新建备份任务UCACHE灾备云控制台登录账号后:点击【服务器定时数据保护】--【数据备份】点击【新建】按钮,然后选要保护的对象(您的生产服务器节点),选中对应的客户端,选择【文件系统】然后点击【 下一步 】(2)设置备份策略选择要进行备份的文件(3)永久增量备份与数据保留设置选择完要过滤的数据之后点击下一步,可进行下一步备份的高级功能选择,各个选项说明如下:【永久增量备份】开启了永久增量备份每一次增量备份都会进行一次时间点合成形成新的一个永久增量时间点等效于完备时间点。【数据保留策略】开启数据保留策略一共有三种保留策略分别为数据保留期限、保留副本数、按备份策略的备份周期设置副本保留策略默认选中数据保留期限一年。可以设置保留完全副本的个数最大可设置1024个副本按备份策略的备份周期设置副本保留策略最大可设置99999个副本。【传输和存储加密】开启传输加密与存储加密选项开启此功能的任务的数据在传输和存储上都经过加密处理。一共有两种加密方式AES256加密算法、SM4加密算法。【数据压缩】默认不开启开启该选项后默认启用快速压缩可选择启用强力压缩【重复数据删除】勾选该选项可以启动源端重复数据删除的功能该选项在建立任务后不能通过修改任务的方式更改此属性。指纹库需要提前创建才能成功开启重删功能最后新建完成目录和文件内容,可以全选和分选,还可以利用UCACHE灾备云控制台的“文件过滤”“目录过滤”“时间过滤”功能进行不必要的数据不进行备份策略添加。为了备份效率不建议两个任务包含同一文件。(4)设置邮件告警备份执行完毕,会得到系统的执行反馈,也可以设定告警监控策略,进行邮件监控
SQL数据库自动备份(mysql数据库自动备份)
首先利用数据库自带的命令行工具将数据库备份下来,例如对MySQL将数据库备份到D:data.sql(具体查阅数据库说明书)mysqlmp<"D:data.sql"然后将该文件以日期参量重名名。如果指定保留N天的数据可能有一定困难,不过既然要求7天,不妨以星期作为区分。假设文件名具有格式“data_日期.sql”,则更名语句为(建议先创建后改名,对于很大的数据库可能要备份很长时间并超过0点)ren"data.sql""data_%date%.sql"若系统时间格式为“2009-04-05星期日”,则产生文件“data_2009-04-05星期日.txt”。获取星期几的语句:%date:~11,3%其中11表示从第11个字符开始(从0开始计算),总共截取3个字符。由此可获得字符串“星期日”。重名名前,删除以data_开头,包含“星期日”的文件del"data_*%date:~11,3%*.sql"这样就把上星期的那个文件删除了。注意:如果系统日期格式与上面的不一致,数字需重新计算,特别是若日期中含有“/”、“:”等字符会导致创建文件失败,此时年月日星期均需手动提取,例如对“04/05/2009Sun”,应使用“%DATE:~6,4%%DATE:~0,2%%DATE:~3,2%%DATE:~11,3%”得到“20090405Sun”。查看日期格式可使用“echo%date%”。另外,如果某项(时间格式、文件名、路径等)包含空格则必须使用引号。脚本源代码mysqlmp<"D:data.sql"del"D:data_*%date:~11,3%*.sql"ren"D:data.sql""data_%date%.sql"编为一个bat文件,添加计划任务,每天定时执行即可。
mysql如何备份数据库
有关于数据备份,推荐您使用Navicat,它提供“人工备份”和“自动备份”两大备份功能。Navicat Premium 是一套可创建多个连接的数据库开发工具,让你从单一应用程序中同时连接 MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL 和 SQLite 。它与 OceanBase 数据库及 Amazon RDS、Amazon Aurora、Amazon Redshift、Microsoft Azure、Oracle Cloud、MongoDB Atlas、阿里云、腾讯云和华为云等云数据库兼容。你可以快速轻松地创建、管理和维护数据库。以下送上保姆级教程,希望对用户们有帮助。人工备份1.先在左侧的导航窗格中点击需要备份的内容所在的database。请点击输入图片描述2.再在主工具栏中点击“备份”按钮。请点击输入图片描述3.然后在对象工具栏中点击“新建备份”。请点击输入图片描述请点击输入图片描述4.然后在弹出的窗格中点击“对象选择”,并勾选您希望备份的对象。请点击输入图片描述5.勾选完对象后,点击“备份”。请点击输入图片描述6.等待备份完成后,在“信息日志”中会显示“finished successfully",最后点击“关闭”。请点击输入图片描述7.当然,您也可以在点击”关闭“前,点击左下角的”保存“,这会将此次的备份设置保存为一个配制文件。请点击输入图片描述8.备份完成。请点击输入图片描述自动备份1. 若是希望可以对刚才的对象执行自动备份,请点击”自动运行“。请点击输入图片描述2. 点击”新建批处理作业"。请点击输入图片描述3. 然后选择“备份”,然后点击对于的database,在“可用的工作”中找到刚刚创建的配置文件并双击它。(此处是双击"b1")请点击输入图片描述4. 双击“b1”后,会在“已选择的工作”中显示此配置文件。(也可以在“可用的工作”中双击多个文件进行备份)请点击输入图片描述请点击输入图片描述5. 选择完需要备份的配置文件后,点击“保存”并命名配置文件。请点击输入图片描述6. 保存完后,还可以设置备份时间表,点击“设置任务计划”(此选项只有点击保存后才会显示)。请点击输入图片描述7. 点击“触发器”。请点击输入图片描述8. 设置需要自动备份的时间表,设置完后,点击“确定”。请点击输入图片描述9. 然后,点击“开始”,可以进行一次备份。请点击输入图片描述10. 点击“对象”,可以看到我们刚刚保存的自动运行的配置文件。请点击输入图片描述