首页 > 数据库 >linux环境用mysqldump定时备份Mysql数据

linux环境用mysqldump定时备份Mysql数据

时间:2023-07-13 22:24:10浏览次数:42  
标签:备份 linux database1 sql Mysql backup dir mysqldump

每日备份mysql的数据,并保留一定数量的备份文件

一、Mysql备份脚本backup.sh

vi backup.sh

#!/bin/bash
# 保存备份个,备份31天的数据
number=31
# 备份保存路径
backup_dir=/home/mysql/data/mysqlbackup
# 日期
dd=`data+%Y-%m-%d-%H-%M-%S`
# 备份工具
tool=mysqldump
# 用户名
username=name
# 密码,特殊字符要转化
password=pwd
# 要备份的数据库
database_name=数据库名
# 如果文件夹不存在则创建
if [.! -d $backup_dir ];
then
    mkdir -p $backup_dir;
fi
$tool -u $username -p$password $database_name >$backup_dir/$dataabase_name-$dd.sql
# 写创建备份日志
echo "create $backup_dir/$database_name-$dd.dupm" >>$backup_dir/log.txt
# 找出需要删除的备份
delfile=`ls -l -crt $backup_dir/*.sql | awk '{print $9}' |head -l`
# 判断现在的备份数量是否大雨$number
count=`ls -l -crt $backup_dir/*sql | awk '{print}' | wc -l`
if [.$count -gt $number ]
then
    # 删除最早生成的备份,只保留number数量的备份
    rm $delfile
    # 写删除文件日志
    echo "delete $delfile" >> $backup_dir/log.txt
fi

二、linux的crontab调度

crontab -e
0 5 * * * /root/bin/backup.sh

上述设定表示,每日5点运行该脚本。

crontab的解释:

第一列表示分钟

第二列表示小时

第三列表示日期

第四列表示月份

第五列表示星期

第六列表示运行的脚本或者命令

三、mysqldump

1、简介

mysqldump -u 'user' -p 'password' database1 > database1.sql

-u:连接mysql的用户

-p:连接mysql服务的账户密码

database1:mysqldump的第一个参数为数据库名称

2、备份多个库

mysqldump -u 'user' -p 'password' database1 database2 > database1_ database2.sql

3、备份某张表

mysqldump -u 'user' -p 'password' database1 table1 > database1_table1.sql

4、备份多张表

mysqldump -u 'user' -p 'password' database1 table1 table2 > database1_table1_table2.sql

5、远程备份

mysqldump -h'127.0.0.1' -u 'user' -p 'password' database1 > database1.sql

 

标签:备份,linux,database1,sql,Mysql,backup,dir,mysqldump
From: https://www.cnblogs.com/songwmeta/p/17552349.html

相关文章

  • mysql数据库和数据表
    1、介绍在mysql中,使用数据库database对应一个项目,管理项目下的数据表。使用数据表table对应一个对象结构,管理属性和值。2、数据库命令(1)查看所有数据库showdatabses;(2)删除数据库dropdatabasedatabase_name;(3)创建数据库createdatabasedatabase_name;(4)选择数据库use......
  • mysql数据类型
    1、介绍mysql中实现了sql语法的数据类型,并有所增加。总的来说分为三类:数值、字符和时间日期。声明:字段名数据类型2、数值tinyint、smallint、mediumint、int和bigint分别表示1、2、3、4、8个字节的有符号整数。在数据类型后添加unsigned关键字,表示无符号是,比如intunsigne......
  • linux下wifi的sta和ap操作
    前言在linux开发中wifi是很常见的一个工作,wifi有STA模式和AP模式,今天分享下如何使用工具在Linux中控制wifi。作者:良知犹存转载授权以及围观:欢迎关注微信公众号:羽林君或者添加作者个人微信:become_me介绍今天介绍的是AP和STA的wifi模式控制,AP热点模式使用到了hostapd和轻量......
  • mysql where
    1、true/falsewheretrue#全部满足wherefalse#全部不满足大小写忽略,至少在windows下如此2、比较运算符>大于<小于>=大于等于<=小于等于=等于!=不等于<>不等于<=>等于3、逻辑运算符&&and逻辑与||or逻辑或!not逻辑否^xor逻辑异或4、判断NULLI......
  • linux 中awk命令的几个常用算数函数
     001、幂函数(即e的多少次方)[root@PC1test02]#lsa.txt[root@PC1test02]#cata.txt##测试数据91210[root@PC1test02]#awk'{printexp($1)}'a.txt##幂函数8103.082.718287.3890622026.5 02、自然对数(e的多少次方等于x)[root@PC1test02......
  • Mysql8.0多源复制和复制过滤
    一、Mysql多源复制1、Mysql多源复制的作用和特点  1)Mysql多源复制作用  选择一台从Mysql从多个主节点将数据复制到本地汇总备份 2)特点  将多台主Mysql服务器数据汇总到一台从Mysql服务器 Mysql5.7以后新增加的功能 方便数据库数据集中化管理和集中化备份2、主Mysq......
  • mysql-语法
    1、引号单引号、双引号,不加引号,反引号,以及任意的圆括号2、结尾(1);一般,在终端交互时,一条sql语句的末尾需要使用;结尾,才会执行,或者enter后跳行等待输入;基于;还可以在一行中写入多条sql语句,相互间隔,依次执行,即使其中一条出现问题,后续sql语句仍然执行对于非终端提交语句,比如代......
  • MySQL基础
    好久没用Mysql有些东西都忘了在这记录一下方便以后查看  查看所有数据库showdatabases选中数据库use[数据库名字]删除数据库drop[数据库名字]创建数据库createdatabase[数据库名字] 表:查看所有的表showtables查询select*from[table][条件]删除表......
  • 在 Oracle Linux 上安装 Shared Folders
    在OracleLinux上安装SharedFolders对于OracleDatabase11g,ZIP安装文件总共有2GB多。由于需要从每个来宾VM访问它们以安装数据库,我决定利用OracleVMVirtualBox的SharedFolders。SharedFolders特性允许来宾VM访问主机文件系统中的存储......
  • Linux C语言之时间函数精讲
    @TOC当在LinuxC语言编程中需要处理时间相关的操作时,可以使用时间函数。时间函数提供了获取当前时间、进行时间转换和计算时间差等功能,对于日志记录、性能分析以及定时任务等场景非常有用。本文将详细介绍LinuxC语言中常用的时间函数,包括如何使用它们以及示例代码。前言在Lin......