首页 > 编程知识 正文

linux下mysql备份脚本的简单介绍

时间:2024-03-07 18:23:19 阅读:331737 作者:TWSP

本文目录一览:

linux下如何自动备份mysql数据库?

1.

写个自动备份的脚本autobackup.sh,内容如下

#!/bin/bash

mysqldump

-p

databasename

mydata.sql

2.

更改其为可执行文件

chmod

+x

autobackup.sh

3.

通过crontab让系统自动运行这个脚本就好了,如crontab

-e

*

*

*

/路径到/autobackup.sh

第一个0表示分钟,第二个0表示0小时也就是零辰第三个*表示每天,第四个*表示每月,第五个*表示每周

linux下mysql如何实现每天自动备份

首先建立一个备份文件夹:mkdir

mysql_data_bak在建立一个脚本文件:touch

autobackupmysql.sh打开文件vi

autobackupmysql.sh在脚本中加入如下内容:filename=`date

+%Y%m%d`/usr/bin/mysqldump

-uroot

-proot

boss

/home/mysql_data_bak/$filename.sql检查有没安装crond,如果没有,先安装yum

-y

install

vixie-cronyum

-y

install

crontabs启动服务

:service

crond

start在CentOS系统中加入开机自动启动:

chkconfig

--level

345

crond

oncrontab

-e加入内容:00

03

*

*

*

source

/root/autobackupmysql.sh

每天凌晨3点运行此文件,对数据库进行备份

service

crond

restart到此linux下mysql实现没天自动备份完成。

linux下mysql数据库备份工具有哪些

1. mysqldump: 最早,也是最成熟的逻辑备份工具,是 MySQL 原生的用来备份整个数据库实例、单个数据库、单张表的逻辑备份工具, 上手简单,学习成本几乎为 0。备份简单,恢复也简单。

比如导出单个数据库 ytt: mysqldump ytt /tmp/ytt.sql;

恢复也非常简单:mysql /tmp/ytt.sql

缺点是备份速度慢。在整个备份过程中,是单线程运行;备份出来的数据集要恢复的话同样也是单线程运行,恢复速度也慢。除非对同一时刻的所有表单独备份出来,自己写额外脚本进行多线程恢复。

2. mysqlpump:MySQL 5.7 GA 后推出的 mysqldump工具的增强版。可以对同一个数据集多个线程并发备份,备份速度很快。

其他缺点和 mysqldump 一样。

3. MySQL Shell UTIL 对象附带的备份工具:随 MySQL 8.0.21 最新版本捆绑发布,自带多线程备份以及多线程恢复功能, 可以直接替代 mysqldump/mysqlpump。

dump_instance/dumpInstance 用来多线程备份 MySQL 整个单机实例

dump_schemas/dumpSchemas 用来多线程备份 MySQL 单个数据库

load_dump/loadDump 用来多线程恢复之前两个工具导出的数据集文件

MySQL Shell UTIL 备份恢复工具具备如下特性:

1. 压缩导出(默认压缩算法 zstd)

2. 数据集分块导出,每块 32M

3. 默认导出存储过程、存储函数、触发器、事件、用户、视图

4. 默认 4 个线程导出

5. 默认进度展示

6. 默认字符集 utf8mb4

7. 默认开启一致性导出

8. 默认表,视图等定义导出为 SQL 语句

9. 默认数据导出为 TSV 格式数据

如何在linux下实现mysql数据库每天自动备份

方法/步骤

1. 在根目录下新建定时备份存储文件夹mkdir /mysql_backup

2.新建备份的脚本vim /root/mysql_backup.sh

3.在mysql_backup.sh中输入内容:

backupdir=/mysqlbackup time=` date +%Y%m%d%H`mysqldump -uroot -proot abc | gzip $backupdir/abc$time.sql.gzfind $backupdir -name “abc*.sql.gz" -type f -mtime +5 -exec rm {} ; /dev/null 21

——————————————————————————————

说明:

backupdir = 备份文件存储文件夹time = 获取当前时间 年月日时(2014111417)2014年11月14日17点mysqldump 备份数据库指令 abc要备份的数据库find $backupdir -name “abc*.sql.gz" -type f -mtime +5 -exec rm {} ; /dev/null 21 删除5天前的备份文件

3 :wq 文件保存成功后

先按一下键盘上的 " esc " 然后输入 ” :wq “

执行一下脚本,看根目录下的mysql_backup文件夹是否有.sql.gz后缀名的文件

./mysql_backup.sh

写入每天的定时任务 修改 /etc/crontabvi /etc/crontab

按键盘上的"i",开始输入

02 4 * * * root /root/mysql_backup.sh

表示每天4点2分执行备份任务

先按一下键盘上的 " esc " 然后输入 ” :wq “ 表示保存

重新启动crond

service crond restart 或 /etc/rc.d/init.d/crond restart

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。