关于linux如何实现mysql数据库每天自动备份与定时备份的示例详解

作者&投稿:漆饺 (若有异议请与网页底部的电邮联系)
~
备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。这篇文章主要介绍了linux实现mysql数据库每天自动备份定时备份,需要的朋友可以参考下
概述
备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。而对于一些网站、系统来说,数据库就是一切,所以做好数据库的备份是至关重要的!
备份是什么?
为什么要备份
容灾方案建设
存储介质
光盘
磁带
硬盘
磁盘阵列
DAS:直接附加存储
NAS:网络附加存储
SAN:存储区域网络
云存储
这里主要以本地磁盘为存储介质讲一下计划任务的添加使用,基本的备份脚本,其它存储介质只是介质的访问方式可能不大一样。
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% /home2、创建备份目录:
上面我们使用命令看出/home下空间比较充足,所以可以考虑在/home保存备份文件;


cd /home
mkdir backup
cd backup3、创建备份Shell脚本:
注意把以下命令中的DatabaseName换为实际的数据库名称;
当然,你也可以使用其实的命名规则!


vi bkDatabaseName.sh输入/粘贴以下内容:


#!/bin/bash
mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql对备份进行压缩:


#!/bin/bash
mysqldump -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz注意:
把 username 替换为实际的用户名;
把 password 替换为实际的密码;
把 DatabaseName 替换为实际的数据库名;
4、添加可执行权限:


chmod u+x bkDatabaseName.sh添加可执行权限之后先执行一下,看看脚本有没有错误,能不能正常使用;
./bkDatabaseName.sh
5、添加计划任务
检测或安装 crontab
确认crontab是否安装:
执行 crontab 命令如果报 command not found,就表明没有安装


# crontab
-bash: crontab: command not found如时没有安装 crontab,需要先安装它,具体步骤请参考:
CentOS下使用yum命令安装计划任务程序crontab
使用rpm命令从CentOS系统盘安装计划任务程序crontab
添加计划任务
执行命令:


crontab -e这时就像使用vi编辑器一样,可以对计划任务进行编辑。
输入以下内容并保存:


*/1 * * * * /home/backup/bkDatabaseName.sh具体是什么意思呢?
意思是每一分钟执行一次shell脚本“/home/backup/bkDatabaseName.sh”。
6、测试任务是否执行
很简单,我们就执行几次“ls”命令,看看一分钟过后文件有没有被创建就可以了!
如果任务执行失败了,可以通过以下命令查看任务日志:


# tail -f /var/log/cron输出类似如下:


Sep 30 14:01:01 bogon run-parts(/etc/cron.hourly)[2503]: starting 0anacron
Sep 30 14:01:01 bogon run-parts(/etc/cron.hourly)[2512]: finished 0anacron
Sep 30 15:01:01 bogon CROND[3092]: (root) CMD (run-parts /etc/cron.hourly)
Sep 30 15:01:01 bogon run-parts(/etc/cron.hourly)[3092]: starting 0anacron
Sep 30 15:01:02 bogon run-parts(/etc/cron.hourly)[3101]: finished 0anacron
Sep 30 15:50:44 bogon crontab[3598]: (root) BEGIN EDIT (root)
Sep 30 16:01:01 bogon CROND[3705]: (root) CMD (run-parts /etc/cron.hourly)
Sep 30 16:01:01 bogon run-parts(/etc/cron.hourly)[3705]: starting 0anacron
Sep 30 16:01:01 bogon run-parts(/etc/cron.hourly)[3714]: finished 0anacron
Sep 30 16:15:29 bogon crontab[3598]: (root) END EDIT (root)总结


LINUX零基础如何学习?
专注于Linux高级运维、Python开发、大数据培训,为您分享行业前沿的技术,有效的学习方法和有价值的学习资料。 向TA提问 关注 展开全部 以下是老男孩教育的Linux云计算学习路线:阶段一、手把手带你Linux入门与进阶提高模块1、学习方法与学习工具讲解模块2、Linux系统基础快速入门模块3、Linux系统知识进阶提高模块4、Linux...

Linux系统如何卸载软件?
在Linux系统中,可以使用不同的方法来卸载软件。以下是几种常见的方法:使用包管理器:大多数Linux发行版都使用包管理器来安装和卸载软件。根据你使用的发行版不同,可以使用不同的包管理器,如apt、yum、dnf、pacman等。使用包管理器卸载软件的命令通常是类似的,例如使用apt卸载软件可以使用以下命令:su...

如何在Linux下面编程实现程序的托盘
Linix如何实现程序托盘 修改程序命令,在程序命令前面加上”\/usr\/bin\/alltray”然后在程序后面加上命令:-s 在首次启动时不隐藏主窗口 -i 使用一个 PNG 文件做为托盘区图标,后接 PNG 文件路径。-l 使用较大图标,当图标尺寸大于 24*24 时使用。-st 允许在所有可见工作区显示。-t 当窗口标题变化...

linux如何运行c文件linux如何运行
c#开发的程序怎么在linux上运行?我本身是搞.NET的,但听同事说过Linux上可以用Mono的来支持C#Mono是一个由Novell公司发起,一个致力于开创.NET在Linux上使用的开源工程。它包含了一个C#语言的编译器,一个CLR的运行时,和一组类库,并实现了ADO.NET和ASP.NET。能够使得开发人员在Linux用C#开发程序 ...

linux中如何实现sleep(0)的功能
前段时间从windows移植了一个程序到linux上,不知为何性能奇差。查了下原因,发现是由于一个函数ZeroSleep特别耗时,这个函数的代码很简单,如下:void ZeroSleep(){ Sleep(0);} Sleep(0)作用是用来释放cpu的时间片,避免忙等待。于是想当然的在linux上实现为:void ZeroSleep(){ msleep(0);} 但其实...

linux 如何实现透明代理?
特别 时Intranet接入Internet时,经常要用到的代理服务器。代理服务器以其良好的可配置性,对信息的灵活访问机制,对信息的缓存机制,加快网络访问而成为一个常用的服务器。对于我们网吧的系统管理员,应对代理服务器的安装和配置有相当的熟悉和了解。 代理服务器系统结构为Redhat Linux 9.0,使用“网关型...

Linux下的基本操作和常用命令
在Linux的维护与管理中,经常需要了解当前系统安装了哪些软件包,或者查询某一个软件包是否被安装了,此时就需要使用rpm的软件包查询功能。查询软件包使用-q参数,若要进一步查询软件包的其他方面的信息,可结合使用一些相关的其他参数,比如-a,-i,-l和-f参数,这些参数分别来源于all,information,list和file,因此这几个...

如何才能学好linux?
二、选择一本好的Linux书籍 在各个Linux论坛中,我们看到最多的问题往往是某个新手,在安装或使用linux的过程中遇到一个具体的问题就开始提问,很多都是重复性的问题,甚至有不少人连基本的问题描述都不是很清楚。这说明很多初学linux的人还没有掌握基本功。怎样才能快速提高掌握linux的基本功呢? 最有效的方法莫过于学...

如何在Linux平台下开发实际的音频应用程序
ALSA虽然不及OSS运用得广泛,但却具有更加友好的编程接口,并且完全兼容于OSS,对应用程序员来讲无疑是一个更佳的选择。三、编程接口如何对各种音频设备进行操作是在Linux上进行音频编程的关键,通过内核提供的一组系统调用,应用程序能够访问声卡驱动程序提供的各种音频设备接口,这是在Linux下进行音频编程最简单也是最直接...

Linux有什么实际用途?
1、桌面应用。随着ubuntu、fedora等优秀桌面环境的兴起,Linux在个人桌面领域的份额逐渐增加。2、嵌入式应用。Linux运行稳定,对网络支持好,成本低;广泛支持大量微处理器架构、硬件设备、图形支持和通信协议。3、服务器应用。Linux系统可以为企业架构WWW服务器、数据库服务器、负载均衡服务器、邮件服务器、DNS...

松山区19314278536: 如何在linux下安装mysql数据库并配置 -
诺义感苏: 在linux下安装mysql数据库并配置的流程比较繁琐,需要耐心调试,具体方法和步骤如下:1.查找以前是否安装有mysql,使用下面命令:rpm -qa|grep -i mysql 如果显示有如下包则说明已安装mysql mysql-4.1.12-3.RHEL4.1 mysqlclient10-3.23.58-4...

松山区19314278536: 怎样在linux系统上安装mysql数据库 -
诺义感苏: mysql安装前准备 在安装mysql之前需要进行一些准备工作.首先要明确Linux中是否已经安装mysql服务,在不明确的情况下,可以执行以下命令进行确认.[root@localhost ~]#rpm -q mysql执行命令后的结果如下所示,表明mysql服务没有安...

松山区19314278536: 在linux环境下怎么打开mysql数据库 -
诺义感苏: linux系统进入mysql数据库的方法: 连接MYSQL: 格式: mysql -h主机地址 -u用户名 -p用户密码 1、连接到本机上的MYSQL. 首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好...

松山区19314278536: 如何在linux下启动mysql数据库 -
诺义感苏: mysql安装成功后1. 使用mysql_install_db初始化权限库2. 链接mysql.server到/etc/init.d/mysqld3. 启动/etc/init.d/mysql start

松山区19314278536: 如何在LINUX下建立一个MYSQL数据库,然后我想把一个SQL数据库导入进去,求步骤!
诺义感苏: 首先需要安装MYSQL数据,不知你的是哪个发行版,就当是常用的吧,一般为 #apt-get install mysql-server mysql-client #for debian ubuntu #yum install mysql-server mysql-client #for CENTOS RHEL 安装完毕后进入数据库 mysql 回车,一般在本机上直接用此命令就可以进入的,从其它机器连接还需要账号密码 mysql>source <filename> #把<filename>换成你要导入的数据库备份SQL文件完整路径,回车等待 mysql>exit #打完收功,退出MYSQL

松山区19314278536: 如何在linux下启动mysql数据库
诺义感苏: mysql默认安装在/var/lib/mysql目录下 a: Couldn't connect to engine! b: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' a.表示MySQL没有启动,需要启动MySQL(使用命令:/etc/rc.d/init.d/mysql start). 有时会出现即使加了 socket启动参数仍然不能连接MySQL服务器的现象,但是实际上mysql.sock这个文件是存在的(假设在/tmp目录下);这时一个快捷的方法就是在/var/lib/mysql/目录下建立一个连接:

松山区19314278536: linux 怎样执行mysql -
诺义感苏: 这个问题问的很模糊,建议细化你的问题描述,要不让人很茫然.如果是简单的执行mysql命令的话,只要安装了mysql客户端,那么就可以执行了 mysql -uuser -ppassword以上,请使用合适的用户和密码替换.

松山区19314278536: linux服务端接收数据,然后存到mysql数据库中,该怎样实现 -
诺义感苏: 1. 连接mysql mysql -u用户名 -p密码 2. 连接你要导入的数据库的名字 mysql> use 数据库名 3. 导入sql文件 mysql> source .sql文件的目录

松山区19314278536: 如何在linux下建立MySQL镜像数据库 -
诺义感苏: 首选用putty连接linux服务器,进行命令行 输入mysql -u+数据库用户 -p+数据库密码 架设数据库用户是root 密码是123,应该是像下面这样才是正确的:mysql -uroot -p123-u和-p连接数据库用户和密码中间是不能有空格的 下面来创建数据库mydatabase create database mydatabase; 这样一个名叫mydatabase的数据库就创建好了 show databases; 显示所有数据库列表 drop database mydatabase; 删除数据库mydatabase 那么如何退出mysql命令行呢?在终端输入exit; 知道完全退出mysql命令行为止!

松山区19314278536: 怎么在linux上安装mysql -
诺义感苏: 到mysql官网下载mysql编译好的二进制安装包,在下载页面Select Platform:选项选择linux-generic,然后把页面拉到底部,64位系统下载Linux - Generic (glibc 2.5) (x86, 64-bit),32位系统下载Linux - Generic (glibc 2.5) (x86, 32-bit) 解压32位安装...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网