当前位置:文档之家› mysql备份与恢复

mysql备份与恢复

mysql备份与恢复
mysql备份与恢复

在mysql.exe中执行的

SELECT * INTO OUTFILE 'C:\\log1.txt' FIELDS TERMINATED BY ',' FROM log.log1

--将刚刚导出的文件log1.txt导入到表log1相同结构的LOG2中

LOAD DATA INFILE 'C:\\log1.txt' INTO TABLE aa.log2 FIELDS TERMINA TED BY ',';

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

-- 使用select * into outfile 导出

SELECT * INTO OUTFILE '/tmp/fi.txt' FIELDS TERMINA TED BY ',' OPTIONALL Y ENCLOSED BY '"' LINES TERMINA TED BY '\n' FROM test.fi;

"2013-04-09

00:06:56","100000198108800","EXPORT_INFO","BUY_ITEM_INNER",65,10,1004,10,"11","2" ,100

"2013-04-09

00:06:59","1068029027","EXPORT_INFO","BUY_ITEM_INNER",16,7,304,7,"11","2",70 "2013-04-09

00:08:27","100000198108800","EXPORT_INFO","BUY_ITEM_INNER",65,2,1004,2,"11","2",2 0

-- 导入

LOAD DATA INFILE'/tmp/fi.txt' INTO TABLE test.fii FIELDS TERMINATED BY ',' OPTIONALL Y ENCLOSED BY '"' LINES TERMINATED BY '\n';

注意:

常规的,所有的记录,应该通过行来显示

例外是保存二进制数据:

Blob binary

使用into dumpfile

select * into dumpfile 'e:/amp/six' from teacher_class where t_name = '韩信' limit 1;

总结:

FIELDS TERMINA TED BY ',' 字段间分割符

OPTIONALL Y ENCLOSED BY '"' 将字段包围对数值型无效

LINES TERMINATED BY '\n' 换行符

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

mysqldump也有同样功能

# mysqldump -uroot -p -T/tmp test fi --fields-enclosed-by=\" --fields-terminated-by="\t

不过一般情况下mysqldump是这样用的

导出

1,备份整个数据内的表:

Mysql dump -uroot -p db_name > bak.sql

2,备份数据库内的某张表:

mysqldump -uroot -p php_one teacher_class > e:/php_one_teacher_class.sql

mysqldump -uroot -p php_one teacher_class tbl_name1 tbl_name2 tbl_name3 >

e:/php_one_teacher_class.sql

导入

mysql -u root –password=root密码数据库名< 备份文件.sql

这个没命令也可以导入数据库

(mysql -e “这里可以输入sql指令”)

备份MySQL数据库的命令

mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql 备份MySQL数据库为带删除表的格式

备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。

mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql

直接将MySQL数据库压缩备份

mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz

备份MySQL数据库某个(些)表

mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql

同时备份多个MySQL数据库

mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql

仅仅备份数据库结构

mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql

备份服务器上所有数据库

mysqldump –all-databases > allbackupfile.sql

还原MySQL数据库的命令

mysql -hhostname -uusername -ppassword databasename < backupfile.sql 还原压缩的MySQL数据库

gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename 将数据库转移到新服务器

mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename

增量备份:

增量备份

定义: mysql数据库会以二进制的形式,自动把用户对mysql数据库的操作,记录到文件. 当用户希望恢复的时候可以使用备份文件,进行恢复.

?增量备份会记录(dml语句,创建表的语句,创建数据库不会记录select)

?记录的(a. 操作语句本身 b. 操作的时间 c position)

步骤:

1:开启binlog日志记录

修改mysql配置文件mysql.ini(https://www.doczj.com/doc/916112689.html,f),在[mysqld]节点下添加

# log-bin

log-bin = E:/log/logbin.log

路径中不要包含中文和空格。重启mysql服务。通过命令行停止和启动mysql 服务

c:\>net stop mysql;

c:\>net start mysql;

进入命令行进入mysql并查看二进制日志是否已经启动

Sql代码

mysql>show variables like 'log_%';

日志成功开启后,会在E:/log/目录下创建

logbin.index和logbin.000001两个文件。

Logbin.index 索引文件,有哪些增量备份文件

logbin.000001就是数据库的备份文件,

以后就可以通过此文件对数据库进行恢复操作。

2:查看备份的二进制文件

Sql代码

c:\mysql\bin\>mysqlbinlog e:/log/logbin.000001

可以使用将日志导出文件的方式来查看日志内容

2.1 导出

c:\mysql\bin\>mysqlbinlog e:/log/logbin.000001 > e:/log/log.txt

">": 导入到文件中; ">>": 追加到文件中

如果有多个日志文件

Sql代码

c:\mysql\bin\> mysqlbinlog e:/log/logbin.000001 > e:/log/log.sql

c:\mysql\bin\> mysqlbinlog e:/log/logbin.000002 >> e:/log/log.sq

2.2 按指定位置导出:

Sql代码

c:\mysql\bin\>mysqlbinlog --start-position=185 --stop-position=338 e:/log/logbin.000001 > e:/log/log3.txt

2.3 按指定时间导出:

c:\mysql\bin\>mysqlbinlog --start-datetime="2010-01-07 11:25:56" --stop-datetime="2010-01-07 13:23:50" e:/log/logbin.000001 > e:/log/log_by_date22.txt

3.1 恢复:

Sql代码

c:\mysql\bin\>mysqlbinlog e:/log/logbin.000001 | mysql -u root -p

3.2 按指定位置恢复:

Sql代码

c:\mysql\bin\>mysqlbinlog --start-position=185 --stop-position=338 e:/log/logbin.000001 | mysql -u root -p

3.3 按指定时间恢复:

c:\mysql\bin\>mysqlbinlog --start-datetime="2010-01-07 11:25:56" --stop-datetime="2010-01-07 13:23:50" e:/log/logbin.000001 | mysql -u root -p

3.4 通过导出的脚本文件恢复

Sql代码

c:\mysql\bin\>mysql -e "source e:/log/log.sql"

(说明一下mysql -e “这里可以写sql命令”)

4.其他常用操作

4.1 查看所有日志文件

Sql代码

mysql>show master logs;

4.2 当前使用的binlog文件

Sql代码

mysql>show binlog events \g;

4.3 产生一个新的binlog日志文件

Sql代码

mysql>flush logs;

4.4 删除所有二进制日志,并从新开始记录(注意:reset master命令会删除所有的二进制日

志)

Sql代码

mysql > reset master;

2)PURGE MASTER LOGS TO & PURGE MASTER LOGS BEFORE

执行PURGE MASTER LOGS TO 'mysql-bin.******'命令,是将'******'编号之前的所有日志进行删除

执行PURGE MASTER LOGS BEFORE 'yyyy-mm-dd hh:mm:ss'命令,是将在'yyyy-mm-dd hh:mm:ss'时间之前的所有日志进行删除

3)-EXPIRE_LOGS_DAYS

此参数是设置日志的过期天数,过期的日志将会被自动删除,这有利于减少我们管理日志的工作量,需要修改https://www.doczj.com/doc/916112689.html,f

这里我们设定保存日志为3天,3天之后过期的日志将被自动删除

4.5 快速备份数据到sql文件

Sql代码

c:\mysql\bin>mysqldump -u root -p --opt --quick interactive > e:/log/mysqldump.sql

为了方便查看,把从脚本恢复的命令在写一次

Sql代码

c:\mysql\bin\>mysql -e "source e:/log/mysqldump.sql"

c),根据数据库名来进行还原-d

在这里是小写的d,请不要把它和mysqldump中的-D搞混了。哈哈。

[root@BlackGhost mysql]# /usr/local/mysql/bin/mysqlbinlog -d test

/var/lib/mysql/mysql-bin.000002

查看内容,请参考a)

d),根据数据库所在IP来分-h

[root@BlackGhost mysql]# /usr/local/mysql/bin/mysqlbinlog -h

192.1681.102 /var/lib/mysql/mysql-bin.000002

查看内容,请参考a)

e),根据数据库所占用的端口来分-P

有的时候,我们的mysql用的不一定是3306端口,注意是大写的P

[root@BlackGhost mysql]# /usr/local/mysql/bin/mysqlbinlog -P 13306 /var/lib/mysql/mysql-bin.000002

查看内容,请参考a)

f),根据数据库serverid来还原–server-id

在数据库的配置文件中,都有一个serverid并且同一集群中serverid是不能相同的。

[root@BlackGhost mysql]# /usr/local/mysql/bin/mysqlbinlog

–server-id=1 /var/lib/mysql/mysql-bin.000002

查看内容,请参考a)

注意:上面的几个例子,我都是一个一个说的,其实可以排列组合的。例如[root@BlackGhost mysql]# /usr/local/mysql/bin/mysqlbinlog

–start-position=”2010-09-29 18:00:00″ -d test -h 127.0.0.1

/var/lib/mysql/mysql-bin.000002 |mysql -u root -p

五,后续

增量备份的时候,有一点让人不爽,就是mysql-bin这样的文件,每启动一次mysql就会增加一些,如果你不去管他的话,时间长了,他会把你的磁盘占满。

./mysqldump –flush-logs -u root myblog > /tmp/myblog.sql

备份myblog数据库,清除增量备份里面的有关myblog的数据

./mysqldump –flush-logs -u root –all-databases >

/tmp/alldatabase.sql

备份所有数据库,清除增量备份

mysql-bin.index的起索引作用,因为增量的数据不一定在一个mysql-bin000这样的文件里面,这个时候,我们就要根据mysql-bin.index来找mysql-bin 这样的增量文件了。

如果mysql里面做了这样的配置binlog-do-db=test1,增量备份里面只会有test1这个数据库的数据

MySQL binlog 的其他介绍

1.前言

日志是把数据库的每一个变化都记载到一个专用的文件里,这种文件就叫做日志文件。Mysql默认只打开出错日志,因为过多的日志将会影响系统的处理性能。

在5.0前支持文本格式和二进制格式,5.0后只支持二进制格式,因为二进制日志在性能、信息处理方面有更多的优点。

2.基础知识

2.1、二进制日志的启用

二进制日志由配置文件的log-bin选项负责启用,Mysql服务器将在数据根目录创建两个新文件XXX-bin.001和XXX-bin.index,若配置选项没有给出文件名,Mysql将使用主机名称命名这两个文件,其中.index文件包含一份全体日志文件的清单。

Mysql会把用户对所有数据库的内容和结构的修改情况记入XXX-bin.n文件,而不会记录SELECT和没有实际

2.2、更新的UPDATE语句。

日志文件的扩展

当停止或重启时,服务器会把日志文件记入下一个日志文件,Mysql会在重启时生成一个新的日志文件,文件序号递增,此外,如果日志文件超过max_binlog_size系统变量配置的上限时,也会生成新的日志文件。

2.3、日志文件的查看

Mysql提供了mysqlbinlog命令来查看日志文件,如mysqlbinlog xxx-bin.001 | more。在记录每条变更日志的时候,日志文件都会把当前时间给记录下来,以便进行数据库恢复。

2.4、日志文件的停用

可以使用SET SQL_LOG_BIN=0命令停止使用日志文件,然后可以通过SET

SQL_LOG_BIN=1命令来启用。

2.5、使用日志进行数据库恢复

如果遇到灾难事件,应该用最近一次制作的完整备份恢复数据库,然后使用备份之后的

日志

文件把数据库恢复到最接近现在的可用状态。

使用日志进行恢复时需要依次进行,即最早生成的日志文件要最先恢复:

mysqlbinlog xxx-bin.00001 | mysql -u root -p

mysqlbinlog xxx-bin.00002 | mysql -u root -p

3.日志跟换策略

使用索引来循环文件,在以下条件将循环至下一个索引

a.服务器重启

b.服务器被更新

c.日志达到了最大日志长度max_binlog_size

d.日志被刷新mysql> flush logs;

4.日志格式

从官网文档中看到,之前的MySQL一直都只有基于statement的复制模式,直到5.1.5版本的MySQL才开始支持row level的复制。从5.0开始,MySQL的复制已经解决了大量老版本中出现的无法正确复制的问题。但是由于存储过程的出现,给MySQL Replication 复制又带来了更大的新挑战。另外,看到官方文档说,从5.1.8版本开始,MySQL提供了除Statement Level和Row Level之外的第三种复制模式:Mixed,实际上就前两种模式的结合。在Mixed模式下,MySQL会根据执行的每一条具体的sql语句来区分对待记录的日志形式,也就是在Statement和Row之间选择一种。新版本中的Statement Level 还是和以前一样,仅仅记录执行的语句。而新版本的MySQL中对row level模式也被做了优化,并不是所有的修改都会以row level来记录,像遇到表结构变更的时候就会以statement模式来记录,如果sql语句确实就是update或者delete等修改数据的语句,那么还是会记录所有行的变更。

--基于SQL语句的复制(statement-based replication,SBR),

--基于行的复制(row-based replication,RBR),

--混合模式复制(mixed-based replication,MBR)。

静态设置binlog格式:

vi https://www.doczj.com/doc/916112689.html,f

log-bin = mysql-bin

#binlog_format ="STATEMENT"

#binlog_format ="ROW"

binlog_format = "MIXED"

动态修改binlog格式:

mysql>SET SESSION binlog_format ='STATEMENT';

mysql>SET SESSION binlog_format ='ROW';

mysql>SET SESSION binlog_format ='MIXED';

mysql>SET GLOBAL binlog_format ='STATEMENT';

mysql>SET GLOBAL binlog_format ='ROW';

mysql>SET GLOBAL binlog_format ='MIXED';

5.binary log相关变量和参数

5.1、命令行参数

--log-bin [=file_name]

设置此参数表示启用binlog功能,并制定路径名称。

--log-bin-index[=file]

设置此参数是指定二进制索引文件的路径与名称。

--max_binlog_size

Binlog最大值,最大和默认值是1GB,该设置并不能严格控制Binlog的大小,尤其是Binlog比较靠近最大值而又遇到一个比较大事务时,

为了保证事务的完整性,不可能做切换日志的动作,只能将该事务的所有SQL都记录进当前日志,直到事务结束。

--binlog-do-db=db_name

此参数表示只记录指定数据库的二进制日志

--binlog-ignore-db=db_name

此参数表示不记录指定的数据库的二进制日志

5.2、系统变量

log_bin

binlog_cache_size

此参数表示binlog使用的内存大小,可以通过状态变量binlog_cache_use和binlog_cache_disk_use来帮助测试。

max_binlog_cache_size

此参数表示binlog使用的内存最大的尺寸

binlog_cache_use

使用二进制日志缓存的事务数量

binlog_cache_disk_use

使用二进制日志缓存但超过binlog_cache_size值并使用临时文件来保存事务中的语句的事务数量。

binlog_do_db

binlog_ignore_db

sync_binlog

这个参数直接影响mysql的性能和完整性。

sync_binlog=0:

当事务提交后,Mysql仅仅是将binlog_cache中的数据写入binlog文件,但不执行fsync之类的磁盘,同步指令通知文件系统将缓存刷新到磁盘,而让Filesystem自行决定

什么时候来做同步,这个是性能最好的。

sync_binlog=0,在进行n次事务提交以后,Mysql将执行一次fsync之类的磁盘同步指令,通知文件系统将Binlog文件缓存刷新到磁盘。

Mysql中默认的设置是sync_binlog=0,即不做任何强制性的磁盘刷新指令,这时性能是最好的,但风险也是最大的。一旦系统Crash,在文件系统缓存中的所有Binlog信息都会丢失。

6.常见问题

6.1、如何清除binlog

--使用下面的两个命令

PURGE {MASTER|BINARY} LOGS TO 'log_name' //log_name不会被清除PURGE {MASTER|BINARY} LOGS BEFORE 'date' //date不会被清除

实例如下:

mysql>show master logs;

+----------------------+-----------+

| Log_name | File_size |

+----------------------+-----------+

| mysql3306-bin.000001|107|

+----------------------+-----------+

1 row in set (0.00sec)

mysql>flush logs;

Query OK, 0 rows affected (0.11sec)

mysql>flush logs;

Query OK, 0 rows affected (0.02sec)

mysql>flush logs;

Query OK, 0 rows affected (0.01sec)

mysql>flush logs;

Query OK, 0 rows affected (0.01sec)

mysql>show master logs;

+----------------------+-----------+

| Log_name | File_size |

+----------------------+-----------+

| mysql3306-bin.000001|154|

| mysql3306-bin.000002|154|

| mysql3306-bin.000003|154|

| mysql3306-bin.000004|154|

| mysql3306-bin.000005|107|

+----------------------+-----------+

5 rows in set (0.00sec)

mysql> purge master logs to'mysql3306-bin.000002'; Query OK, 0 rows affected (0.01sec)

mysql>show master logs;

+----------------------+-----------+

| Log_name | File_size |

+----------------------+-----------+

| mysql3306-bin.000002|154|

| mysql3306-bin.000003|154|

| mysql3306-bin.000004|154|

| mysql3306-bin.000005|107|

+----------------------+-----------+

4 rows in set (0.00 sec)

[root@node4 data]# date

Tue Jul 3001:27:04 CST 2013mysql>flush logs;

Query OK, 0 rows affected (0.01sec)

mysql>show master logs;

+----------------------+-----------+

| Log_name | File_size |

+----------------------+-----------+

| mysql3306-bin.000002|154|

| mysql3306-bin.000003|154|

| mysql3306-bin.000004|154|

| mysql3306-bin.000005|154|

| mysql3306-bin.000006|107|

+----------------------+-----------+

5 rows in set (0.00sec)

mysql> purge master logs before '2013-07-30 01:27:04';

Query OK, 0 rows affected (0.02sec)

mysql>show master logs;

+----------------------+-----------+

| Log_name | File_size |

+----------------------+-----------+

| mysql3306-bin.000005|154|

| mysql3306-bin.000006|107|

+----------------------+-----------+

2 rows in set (0.00 sec)

--或使用命令:

RESET MASTER

删除之前所有的binlog,并重新生成新的binlog,后缀从000001开始。

注:如果您有一个活性的从属服务器,该服务器当前正在读取您正在试图删除的日志之一,则本语句不会起作用,而是失败,并伴随一个错误。

不过,如果从属服务器是休止的,并且您碰巧清理了其想要读取的日志之一,则从属服务器启动后不能复制。

当从属服务器正在复制时,本语句可以安全运行。您不需要停止它们。

6.2、记录到二进制日志知的内容配置

binlog-do-db=sales 只记录sales库binlog-ignore-db=sales 除sales库不记录,其他都记录。

但是如果在操作数据库之前,不使用use $dbname 那么所有的SQL都不会记录如果使用了use $dbname,那么判断规则取决于这里的$dbname,而不是SQL中操作的库

6.3、二进制日志不准确的处理

默认情况下,并不是每次写入时都将二进制日志与硬盘同步。因此如果操作系统或机器(不仅仅是MySQL服务器)崩溃,有可能二进制日志中最后的语句丢失。要想防止这种情况,你可以使用sync_binlog全局变量(1是最安全的值,但也是最慢的),使二进制日志在每N次二进制日志写入后与硬盘同步。即使sync_binlog设置为1,出现崩溃时,也有可能表内容和二进制日志内容之间存在不一致性。

如果崩溃恢复时MySQL服务器发现二进制日志变短了(即至少缺少一个成功提交的InnoDB事务),如果sync_binlog =1并且硬盘/文件系统的确能根据需要进行同步(有些不需要)则不会发生,则输出错误消息(“二进制日志<名>比期望的要小”)。在这种情况下,二进制日志不准确,复制应从主服务器的数据快照开始。为了您的安全,请只打开来源可靠的网址

定时备份:

Windows下:

①使用定时器来自定完成

把备份数据库的指令,写入到bat文件, 然后通过任务管理器去定时调用bat文件.

mytask.bat 内容是:

C:\myenv\mysql5.5.27\bin\mysqldump -u root -proot temp dept > d:\temp.dept.bak

?如果你的mysqldump.exe文件路径有空格,则一定要使用“”包括.

把mytask.bat 做成一个任务,并定时调用在2:00 调用一次

步骤任务计划->增加一个任务,选中你的mytask.bat文件,最后配置:

测试ok

现在问题是,每次都是覆盖原来的备份文件,不利用我们分时间段进行备份, 我们可以这样处理;

代码是:

mytask2.bat 内容:

C:\myenv\php-5.3.5\php.exe C:\myenv\apache\htdocs\mytask.php

mytask.php代码:

//定时备份我们的数据库文件

date_default_timezone_set('PRC');

$bakfilename=date("YmdHis",time());

$command="C:\myenv\mysql5.5.27\bin\mysqldump -u root -proot temp dept > d:\\{$bakfilename}";

exec($command);

?>

在linux:

如何在linux下完成定时任务:

linux如何备份.

1. 直接执行PHP脚本, 需要在同一个服务器上执行.

# crontab -e

00 * * * * /usr/local/bin/php /home/htdocs/phptimer.php

2.通过HTTP请求来触发脚本, PHP文件允许不在同一服务器上

# crontab -e

00 * * * * /usr/bin/wget -q -O temp.txt https://www.doczj.com/doc/916112689.html,/phptimer.php

上面是通过wget来请求PHP文件, PHP输出会保存在临时文件temp.txt中

# crontab -e

00 * * * * /usr/bin/curl -o temp.txt https://www.doczj.com/doc/916112689.html,/phptimer.php

上面是通过curl -o来请求PHP文件, PHP输出会保存在临时文件temp.txt中

# crontab -e

00 * * * * lynx -dump https://www.doczj.com/doc/916112689.html,/phptimer.php

上面是通过Lynx文本浏览器来请求PHP文件

使用crontab定时执行php代码,例每隔十分钟执行一次:

/10 * * * * wget -q --sqider http://******

一、在Crontab中使用PHP执行脚本

就像在Crontab中调用普通的shell脚本一样(具体Crontab用法),使用PHP程序来调用PHP脚本。

每一小时执行myscript.php如下:

复制代码代码如下:

# crontab -e

00 * * * * /usr/local/bin/php /home/john/myscript.php

/usr/local/bin/php为PHP程序的路径。

二、在Crontab中使用URL执行脚本

如果你的PHP脚本可以通过URL触发,你可以使用lynx或curl或wget来配置你的Crontab。

下面的例子是使用Lynx文本浏览器访问URL来每小时执行PHP脚本。Lynx文本浏览器默认使用对话方式打开URL。但是,像下面的,我们在lynx命令行中使用-dump选项来把URL 的输出转换来标准输出。

复制代码代码如下:

00 * * * * lynx -dump https://www.doczj.com/doc/916112689.html,/myscript.php

下面的例子是使用CURL访问URL来每5分执行PHP脚本。Curl默认在标准输出显示输出。使用”curl -o”选项,你也可以把脚本的输出转储到临时文件。

复制代码代码如下:

*/5 * * * * /usr/bin/curl -o temp.txt https://www.doczj.com/doc/916112689.html,/myscript.php

下面的例子是使用WGET访问URL来每10分执行PHP脚本。-q选项表示安静模式。”-O temp.txt”表示输出会发送到临时文件。

复制代码代码如下:

*/10 * * * * /usr/bin/wget -q -O temp.txt https://www.doczj.com/doc/916112689.html,/myscript.php

一. Crontab 介绍

crontab命令的功能是在一定的时间间隔调度一些命令的执行。

1.1 /etc/crontab 文件

在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab。

如:

[root@dave ~]# cat /etc/crontab

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

# run-parts

01 * * * * root run-parts /etc/cron.hourly

02 4 * * * root run-parts /etc/cron.daily

22 4 * * 0 root run-parts /etc/cron.weekly

42 4 1 * * root run-parts /etc/cron.monthly

1.2 /etc/cron.deny 和 /etc/cron.allow 文件

/etc/cron.deny 表示不能使用crontab 命令的用户

/etc/cron.allow 表示能使用crontab的用户。

如果两个文件同时存在,那么/etc/cron.allow 优先。

如果两个文件都不存在,那么只有超级用户可以安排作业。

每个用户都会生成一个自己的crontab 文件。这些文件在/var/spool/cron 目录下:

如:

[root@dave ~]# cd /var/spool/cron

[root@dave cron]# ls

oracle root

我们直接查看这个文件,里面的内容和对应用户显示的crontab -l 一致。[root@dave cron]# cat oracle

00 6 * * *

/u02/scripts/del_st_archive.sh >/u02/scripts/del_st_arch.log 2>&1 [root@dave cron]# cat root

0 12 * * * /root/bin/sync-clock.sh

[root@dave cron]#

2、Crontab 格式说明

我们可以用crontab -e 添加要执行的命令。命令执行的结果,无论是标准输出还是错误输出,都将以邮件形式发给用户。

添加的命令必须以如下格式:

* * * * * /command path

前五个字段可以取整数值,指定何时开始工作,第六个域是字符串,即命令字段,其中包括了crontab调度执行的命令。各个字段之间用spaces 和tabs分割。

前5个字段分别表示:

分钟:0-59

小时:1-23

日期:1-31

月份:1-12

星期:0-6(0表示周日)

还可以用一些特殊符号:

*:表示任何时刻

,:表示分割

-:表示一个段,如第二端里: 1-5,就表示1到5点

/n : 表示每个n的单位执行一次,如第二段里,*/1, 就表示每隔1个小时执行一次命令。也可以写成1-23/1.

一些示例:

00 8,12,16 * * * /data/app/scripts/monitor/df.sh

30 2 * * * /data/app/scripts/hotbackup/hot_database_backup.sh

MySQL数据库备份与恢复

MySQL数据库备份与恢复方法 常有新手问我该怎么备份数据库,下面介绍3种备份数据库的方法: MySQL中的每一个数据库和数据表分别对应文件系统中的目录和其下的文件。 在Linux下数据库文件的存放目录一般为/var/lib/mysql。在Windows下这个目录视MySQL 的安装路径而定,DiaHosting的技术员一般为客户安装在D:serversoftmysql下。 如,有一个名为bbs的数据库,那么bbs的数据库文件会存放在/var/lib/mysql/bbs(linux)或者D:serversoftmysqlbbs(Windows)下。 备份文件前,需要将MySQL服务停止,然后将数据库目录拷贝即可。 恢复数据数据库时,需要先创建好一个数据库(不一定同名),然后将备份出来的文件(注意,不是目录)复制到对应的MySQL数据库目录中。 使用这一方法备份和恢复数据库时,需要新旧的MySQL版本一致,否则可能会出现错误。备份数据库: mysqldump –user=root –password=root密码–lock-all-tables 数据库名> 备份文件.sql 恢复数据库: mysql -u root –password=root密码数据库名< 备份文件.sql (3)使用Web程序 在这里我们推荐使用“帝国备份王”对MySQL进行备份。 主要优点: 1,跨平台。Windows与Linux下各种WEB环境均可以运行。 2,智能识别编码,解决备份时的乱码问题。 3,不同的MySQL版本间都可以进行备份和恢复操作。 4,采用分组备份,即使是超过1G的数据库也可以正常备份。 登录“帝国备份王”

DB2数据库备份与恢复

DB2数据库备份与恢复 1.备份 下列操作均是在db2cmd窗口下执行的: 1.1离线备份(必须在数据库所在PC机进行操作) STEP 1 连接到要备份的数据库 C:\Documents and Settings\Administrator>db2 connect to ncc user nccwykpi using nccwykpi STEP 2 显示数据库应用状态 C:\Documents and Settings\Administrator>db2 list applications 页脚内容1

STEP 3 停掉数据库应用 C:\Documents and Settings\Administrator>db2 force applications all 注意:由于该命令是异步的,所以在进行备份的时候会出现以下错误信息。此时可以再次执行db2 force applications all 命令。 页脚内容2

STEP 4 对数据库进行离线状态下的备份 C:\Documents and Settings\Administrator>db2 backup database ncc to d:\db2\backup 注意:指定的备份文件的输出目录必须是已创建的,否则会报错。 STEP 5 查看备份历史记录 C:\Documents and Settings\Administrator>db2 list history backup all for ncc 页脚内容3

页脚内容4

页脚内容5

1.2在线备份 注意:如果要做在线的备份,要对两个参数作修改:USEREXIT和 LOGRETAIN,将其 修改为on,默认是off的,默认使用日志模式,修改完参数后,可以变为归档日志模式,启用了userexit做数据库日志的归档。 STEP 1 查看数据库当前的属性 C:\Documents and Settings\Administrator>db2 get db cfg 页脚内容6

SQL SERVER数据库备份与恢复方案

SQL SERVER数据库备份与恢复方 案 世界上没有万无一失的信息安全措施。信息世界“攻击和反攻击”也永无止境。对信息的攻击和防护好似矛与盾的关系,螺旋式地向前发展。在信息的收集、处理、存储、传输和分发中经常会存在一些新的问题,其中最值得我们关注的就是系统失效、数据丢失或遭到破坏。 威胁数据的安全,造成系统失效的主要原因有以下几个方面:硬盘驱动器损坏;人为错误;黑客攻击;病毒;自然灾害;电源浪涌;磁干扰。因此,数据备份与数据恢复是保护数据的最后手段,也是防止主动型信息攻击的最后一道防线。 只要发生数据传输、数据存储和数据交换,就有可能产生数据故障。这时,如果没有采取数据备份和数据恢复手段与措施,就会导致数据的丢失。有时造成的损失是无法弥补与估量的。 数据故障的形式是多种多样的。通常,数据故障可划分为系统故障、事务故障和介质故障三大类。从信息安全数据库备份与恢复方案的角度出,实际上第三方或敌方的“信息攻击”,也会产生不同种类的数据故障。例如:计算机病毒型、特洛伊木马型、“黑客”入侵型、逻辑炸弹型等。这些故障将会造成的后果有:数据丢失、数据被修改、增加无用数据及系统瘫痪等。作为系统管理员,要千方百计地维护系统和数据的完整性与准确性。

通常采取的措施有:安装防火墙,防止“黑客”入侵;安装防病毒软件,采取存取控制措施;选用高可靠性的软件产品;增强计算机网络的安全性。 以下主要介绍SQL SERVER数据备份方案和数据库恢复方案。SQL SERVER数据备份方案 SQL SERVER数据库的备份方法主要有完整备份,差异备份,事务日志备份等。根据数据安全性的要求,推荐的备份方式为每周一次完整备份,每天一次差异备份,每半个小时一次事务日志备份。 默认情况下,为sysadmin 固定服务器角色以及db_owner 和db_backupoperator 固定数据库角色的成员授予BACKUP DATABASE 和BACKUP LOG 权限。 备份设备的物理文件的所有权和权限问题可能会妨碍备份操作。SQL Server 必须能够读取和写入设备;运行SQL Server 服务的帐户必须具有写入权限。 备份文件存放磁盘需要与数据库文件存放磁盘分开,避免磁盘IO冲突。备份执行时间与数据库作业执行时间错开,避免备份影响数据库作业的执行。 SQL SERVER 维护计划功能可以较好的实现自动化备份,在使用该功能前启动数据库管理器上的SQL SERVER 代理功能。

MySQL完全备份、增量备份与恢复

MySQL完全备份、增量备份与恢复 适用版本] MySQL 4.x - 6.x [ 配置] 执行增量备份的前提条件是MySQL打开log-bin日志开关,例如在my.ini或https://www.doczj.com/doc/916112689.html,f中 加入 log-bin=C:/Program Files/MySQL/MySQL Server 6.0/Data/mysql-bin “log-bin=”后的字符串为日志记载目录,一般建议放在不同于mysql数据目录的磁盘上。 [ 完全备份] 假定星期日下午1点执行完全备份,适用于MyISAM存储引擎。 mysqldump --lock-all-tables --flush-logs --master-data=2 -u root -p test > backup_sunday_1_PM.sql 对于InnoDB 将--lock-all-tables替换为--single-transaction --flush-logs 为结束当前日志,生成新日志文件 --master-data=2 选项将会在输出SQL中记录下完全备份后新日志文件的名称, 用于日后恢复时参考,例如输出的备份SQL文件中含有: -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=106; 其他说明: 如果mysqldump加上--delete-master-logs 则清除以前的日志,以释放空间。但是如果服务器配置为镜像的复制主服务器,用mysqldump --delete-master-logs删掉MySQL二进制日志很危险,因为从服务器可能还没有完全处理该二进制日志的内容。在这种情况下,使用PURGE MASTER LOGS更为安全。 [ 增量备份] 每日定时使用mysqladmin flush-logs来创建新日志,并结束前一日志写入过程。并 把前一日志备份,例如上例中开始保存数据目录下的日志文件mysql-bin.000002 , ... [ 从备份中恢复] * 恢复完全备份 mysql -u root -p < backup_sunday_1_PM.sql * 恢复增量备份 mysqlbinlog mysql-bin.000002 ... | mysql -u root -p 注意此次恢复过程亦会写入日志文件,如果数据量很大,建议先关闭日志功能。

oracle数据库备份与恢复方案

oracle数据库备份与恢复方案

目录 一、编写目的 (1) 二、备份工具及备份方式 (1) 三、软件备份 (1) 四、软件恢复 (2) 五、数据备份 (2) 六、备份的存储 (2) 七、备份数据的保存规定 (3) 八、备份介质的格式 (3) 九、数据恢复 (4)

一、编写目的 本文档主要说明公司项目在实施现场的软件及数据的备份和恢复方案。 二、备份工具及备份方式 1.备份工具 Oracle RMAN(Recovery Manager):是一种用于备份(backup)、还原 (restore)和恢复(recover)数据库的Oracle 工具。RMAN只能用于ORACLE8 或更高的版本中。它能够备份整个数据库或数据库部件,如表空间、数据文件、控制文件、归档文件以及Spfile参数文件。RMAN也允许您进行增量数据块级 别的备份,增量RMAN备份是时间和空间有效的,因为他们只备份自上次备 份以来有变化的那些数据块。 2.备份方式 (1)自动备份:由Windows 计划任务调度完成; (2)手工备份:完成特殊情况下的备份,分热备份和冷备份,热备份是指在不 关闭数据库情况下进行备份,冷备份则需要停止Oracle实例服务。 三、软件备份 1.以七天为一个周期每天23:00将所有软件拷贝到其他存储介质上 2.超出七天的备份依次删除 3.每月一号将上月最后7天的备份文件刻录到光盘上

四、软件恢复 1.找出最近的备份程序覆盖到正式运行环境的相应目录中 五、数据备份 1.业务系统或数据库在打重要补丁或升级的前后,必须按要求对业务系统进行停 机备份或非停机备份,备份需包含应用和数据库的文件系统及数据,备份方式为手工备份,使用RMAN执行备份; 2.系统日常备份:作为7*24运行的重要系统,必须最小化数据丢失的同时,还 需要尽可能缩短恢复时间,数据库的日常备份策略如下: (1)确保数据库处于ArchiliveLog模式; (2)每日凌晨01:00执行数据库全备份,含控制文件备份; (3)每四小时间隔执行数据库归档日志备份,含控制文件备份; (4)每间隔两周执行数据库与应用系统文件备份,执行时间:数据库服务器在第一周的周六05:00,应用服务器在第一周的周六7:00。 3.每周一将上周的备份文件拷贝到其它存储介质上; 4.每月一号将上月最后一周的备份文件刻录到光盘上。 六、备份的存储 1.在确保成功备份数据的同时,必须严格保证存储结构的完整性,在备份服务器 或备份带库上需要保留足够的剩余空间,以存储需要保存的多份备份文件; 2.如项目上采用了专门的备份软件,有专用的备份存储,应提前规划好备份的存

数据库备份与恢复

Oracle数据库备份与恢复的三种方法 2009-11-04 16:00 Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。 一、导出/导入(Export/Import) 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。 1、简单导出数据(Export)和导入数据(Import) Oracle支持三种方式类型的输出: (1)、表方式(T方式),将指定表的数据导出。 (2)、用户方式(U方式),将指定用户的所有对象及数据导出。 (3)、全库方式(Full方式),瘵数据库中的所有对象导出。 数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。 2、增量导出/导入 增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。 增量导出包括三种类型: (1)、“完全”增量导出(Complete) 即备份三个数据库,比如: (2)、“增量型”增量导出 备份上一次备份后改变的数据,比如:

(3)、“累积型”增量导出 累计型导出方式是导出自上次“完全”导出之后数据库中变化了的信息。比如: 数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效的完成。 比如数据库的被封任务可以做如下安排: 星期一:完全备份(A) 星期二:增量导出(B) 星期三:增量导出(C) 星期四:增量导出(D) 星期五:累计导出(E) 星期六:增量导出(F) 星期日:增量导出(G) 如果在星期日,数据库遭到意外破坏,数据库管理员可按一下步骤来回复数据库: 第一步:用命令CREATE DATABASE重新生成数据库结构; 第二步:创建一个足够大的附加回滚。 第三步:完全增量导入A: 第四步:累计增量导入E: 第五步:最近增量导入F:

mysql备份与恢复方案

服务器备份方案 一、MYSQL数据库备份与恢复: 数据库本地备份:当数据量少的时候可以在每天凌晨1点-3点进行完全备份,随着数据库的增大,可以2两小时(按照需求设置时间)做增量备份与完全备份相结合的备份方式以确保数据的安全。 数据库完全备份脚本: 1.确定我们备份文件存放的目录这里我把所有备份文件放到/home/mysqlback 2.确定需要备份的数据库,这里我们用备份d_test这个数据库来说明。 dbuser="root" #定义数据库用户名 dbpasswd="123456" #定义数据库密码 dbname="d_test" #定义需要备份的数据库 date1=`date +%Y%m%d` #读取当前日期 date2 = `date +%Y%m%d%H%M%S` #读取当前的日期时间Y年m月d日H小时M分钟S秒 date3 = `date -d -5day +"%Y%m%d"` #读取当天日期之5天前的日期 back = /home/mysqlback/$date1 #备份文件存放目录 #判断是不是有文件存放目录如果没有则新建。 if [ ! -d $back ] then mkdir -p $back fi #使用mysqldump命令来备份指定的数据库并且压缩成gz包。 mysqldump -u$dbuser -p$dbpasswd $dbname | gzip > $back/$dbname$date2.sql.gz #删除指定5天前备份的过期文件以便节省磁盘空间 cd /home/mysqlback rm -rf $date3 异地备份 首先准备一台异地的服务器,并且搭建好vsftp(vsftp具体搭建详细步骤请参考VSFTP搭建文档) 异地备份到vsftp服务器上脚本如下:

MySQL备份与恢复(PDF版)

下面文章摘录的主题:mysql日志文件,使用mysqld加相应选项来启用某种日志。Mysql 完全备份及恢复:mysqldump对MyISAM或InnoDB完全备份,mysqlhotcopy对MyISAM完全备份。增量备份:使用二进制日志增量备份,使用mysqlbinlog命令恢复二进制日志。 SQL语法备份及恢复。拷贝数据文件备份(对Innodb还需拷贝日志文件)。MyISAM表的检查与修复(另见《MySql存储引擎》)。Innodb表的碎片整理和模糊检查点。 MySQL备份和恢复 作/译者:叶金荣 本文讨论MySQL的备份和恢复机制,以及如何维护数据表,包括最主要的两种表类型:MyISAM和Innodb,文中设计的MySQL版本为 5.0.22。 目前MySQL支持的免费备份工具有:mysqldump、mysqlhotcopy,还可以用SQL语法进行备份:BACKUP TABLE或者SELECT INTO OUTFILE,又或者备份二进制日志(binlog),还可以是直接拷贝数据文件和相关的配置文件。MyISAM表是保存成文件的形式,因此相对比较容易备份,上面提到的几种方法都可以使用。Innodb所有的表都保存在同一个数据文件ibdata1中(也可能是多个文件,或者是独立的表空间文件),相对来说比较不好备份,免费的方案可以是拷贝数据文件、备份binlog,或者用mysqldump。 1、mysqldump 1.1备份 mysqldump是采用SQL级别的备份机制,它将数据表导成SQL脚本文件,在不同的MySQL版本之间升级时相对比较合适,这也是最常用的备份方法。 现在来讲一下mysqldump的一些主要参数: 1.--compatible=name 它告诉mysqldump,导出的数据将和哪种数据库或哪个旧版本的MySQL服务器相兼容。值可以为ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options等,要使用几个值,用逗号将它们隔开。当然了,它并不保证能完全兼容,而是尽量兼容。 2.--complete-insert,-c 导出的数据采用包含字段名的完整INSERT方式,也就是把所有的值都写在一行。这么做能提高插入效率,但是可能会受到max_allowed_packet参数的影响而导致插入失败。因此,需要谨慎使用该参数,至少我不推荐。 3.--default-character-set=charset 指定导出数据时采用何种字符集,如果数据表不是采用默认的latin1字符集的话,那么导出时必须指定该选项,否则再次导入数据后将产生乱码问题。 4.--disable-keys 告诉mysqldump在INSERT语句的开头和结尾增加/*!40000ALTER TABLE table DISABLE KEYS*/;和/*!40000ALTER TABLE table ENABLE KEYS*/;语句,这能大大提高插入语句的速度,因为它是在插入完所有数据后才重建索引的。该选项只适合MyISAM表。 5.--extended-insert=true|false 默认情况下,mysqldump开启--complete-insert模式,因此不想用它的的话,就使用本选项,设定它的值为false即可。 6.--hex-blob

数据库备份和还原操作方法

数据库备份和还原 在收费系统运行一段时间后,如发生系统不正常要重装WINDOWS操作系统或更换电脑时,须按照下面“数据库备份”方法将原系统的数据文件备份,并将备份文件妥善保存(避免随系统重装而丢失数据),在重装系统或更换电脑后,按照软件的安装方法顺序安装SQL2000数据库和消费/水控管理软件,然后按照下面“数据还原”方法进行数据库还原,完成后系统中的数据即与原数据完全[相同。 数据库备份: 以ICSF为例,打开ICSF软件,选择菜单栏下的系统维护,然后选择数据备份。(系统维护——数据备份)如图(1-1): 1-1 数据备份完成后,可以在基本资料——系统参数里(1-2),在弹出的对话框上的备份路径二(手动备份)里可以找到数据备份的路径(1-3)。如图:

1-2 1-3 提示: 1、上述方法为手动备份,本系统在使用后正常腿出系统时也会自动进行 数据备份,如已经无法正常开启原电脑(无法进行手动备份)则可将 原电脑硬盘连接到其他电脑中,找到“备份路径一”所指向的路径, 找到备份文件夹,将其中修改日期最近的备份文件拷贝出来用于数据 还原。 2、在安装收费/水控系统时建议不要将安装目录选在C盘,避免因格式 化的操作是备份数据丢失,如果已经将软件安装在C盘,则建议将备 份文件路径指定为其他盘。 数据还原 数据还原,首先要找到备份的数据文件。如上所述,备份文件存放在E:\软件\ICSF5.74\Mdbbak上,根据路径找到Mdbbak文件夹并打开。 打开Mdbbak文件夹后,里面有类似这样的(1-4)BAK文件。 找寻最新的BAK文件,并把它与软件安装包(光盘)中IC挂接数据库.exe软件拷贝到电脑任意一个目录(文件夹)中,然后将备份文件重命名(光标放在备份文件 上点鼠标右键,选择重命名),改为ICSF.db。如图:(1-5)

AnyBackup MySQL定时备份与恢复最佳实践手册

.

目录 第 1 章 . 概述 (1) 1.1.目标读者 (1) 1.2.本文档适用范围 (1) 1.3.MySQL 定时备份功能模块简介 (1) 第 2 章. MySQL 基础知识简介 (1) 2.1.MySQL 简介 (1) 2.2.MySQL 引擎介绍 (1) 2.3.关键技术原理 (1) 2.3.1.MySQL 数据库定时备份原理分析 (1) 2.3.2.MySQL 数据库恢复原理分析 (2) 第 3 章. MySQL 定时备份最佳实践 (3) 3.1.MySQL 定时备份最佳实践 (3) 3.1.1.部署注意事项 (3) 3.1.2.定时备份最佳操作 (3) 3.2.MySQL 恢复最佳实践 (13) 3.2.1.部署注意事项 (13) 3.2.2.定时备份的恢复最佳操作 (14) 3.3.FAQ (16)

第1章. 概述 本文档是爱数备仹容灾家族MySQL 一体化容灾最佳实践文档,主要描述了如何正确地使用爱数备仹容灾家族产品成员迚行 MySQL 定时备仹恢复的方法,包括部署前后的注意事项和典型部署方案。 1.1.目标读者 本技术文档面向爱数备仹容灾家族产品成员的用户和相关技术人员,主要介绍 MySQL 数据库定时备仹不恢复的基础知识,以及如何正确使用爱数备仹容灾家族产品成员部署MySQL 数据库定时备仹方案。 旨在通过此文档帮劣用户和技术人员快速掊插MySQL 数据库定时备仹模块的使用方法。 1.3.MySQL 定时备份功能模块简介

恢复位置原位置 恢复粒度整个实例、单个数据库异机恢复支持

第2章. MySQL 基础知识简介 2.1.MySQL 简介 MySQL 是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB 公司。目前MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL 作为网站数据库。 2.2.MySQL 引擎介绍 MyISAM:MySQL 的默讣数据库,最为常用。拥有较高的揑入,查询速度,但不支持事务。 InnoDB:事务型数据库的首选引擎,支持 ACID 事务,支持行级锁定。 BDB:源自 Berkeley D B,事务型数据库的另一种选择,支持 COMMIT 和 ROLLBACK 等其他事务特性 Memory :所有数据置于内存的存储引擎,拥有极高的揑入,更新和查询敁率。但是会占用和数据量成正比的内存空间。幵丏其内容会在 Mysql 重新启劢时丢失。 Merge:将一定数量的 MyISAM 表联合而成一个整体,在超大规模数据存储时徆有用。 Archive:非常适合存储大量的独立的、作为历叱记弽的数据。它们不经常被读取。Archive 拥有高敁的揑入速度,但其对查询的支持相对较差。 Federated:将不同的 MySQL 服务器联合起来,逡辑上组成一个完整的数据库。非常适合分布式应用 Cluster/NDB :高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用。 CSV:逡辑上由逗号分割数据的存储引擎。 BlackHole:黑洞引擎,写入的仸何数据都会消失,一般用于记弽 binlog 做复制的中继。 2.3.关键技术原理 2.3.1.MySQL 数据库定时备份原理分析 本版本,MySQL 数据库定时备仹采用的是脚本+文件备仹方式。爱数备仹软件系统首先根据用户的选择获取数据源,然后根据数据库类型生成相应的备仹脚本。接着,备仹系统调用备仹脚本,该脚本可以让数据库自带的备仹工具迚行备仹,幵将备仹集放到临时路径。随后备仹系统将生产的备仹集备仹到介质服务器,最后删除备仹脚本和临时路径的备仹内容。 ?支持的备仹类型:完全备仹 ?备仹命令调用: 1.备份整个实例 mysqldump -u root -p https://www.doczj.com/doc/916112689.html, --all-database > “E:\homebakpath\allDatab ases\localhost_allDatabases_2012121210352.full”

数据备份与恢复方案

数据备份与恢复方案 2016年8月 目录 1概述 (1) 2备份需求 (1) 3策略 (1) 3.1备份环境 (1) 3.2备份节点 (1) 3.3备份方案概述 (1) 3.4数据恢复概述 (2) 4方案 (2) 5可能遇到情况及解决方法 (5)

1概述 随着公司信息化系统建设的不断推进,我们对信息系统的实时性要求也会越来越高,系统运行遇到故障时尽快恢复服务对公司的正常运营至关重要; 为最大限度保障云盘用户数据安全性,同时为了能在不可预计灾难情况下,保证云盘的安全快速恢复工作,所以需要对云盘进行数据备份与恢复工作。 方案主要内容:数据备份是指通过软件自动执行或手工操作将服务器重要文件及数据保存到磁盘柜和磁带等存储设备上。主要目的是减少及避免由于服务器软硬件故障造成的数据丢失,确保公司信息系统出现故障时在最短的时间内恢复运行并且重新提供服务。 云盘环境 采用双节点方式部署: 服务器:2台物理服务器均安装CentOS 7.0系统与云盘软件。 数据存储:2台服务器分别为:db_master与db_slave,各挂载3T的FC-SAN存储。 2备份需求 对2台云盘服务器数据进行备份,并验证恢复,保证数据安全性。 3策略 3.1备份环境 需要1台服务器安装CV备份服务器,分别为云盘服务器上安装CV控制台,因考虑备份服务器存放备份文件,故CV备份服务器挂载存储需要大于7T(云盘服务器存储为:800G磁盘+3T存储)。 3.2备份节点 2台生产环境云盘服务器都需要备份/data/data_all、/lefsdata、/usr/local/lefos,同时做好标记,区分开主服务器与副服务器的/data/data_all、/lefsdata、/usr/local/lefos。 3.3备份方案概述 将2台生产服务器安装CV客户端,从CV服务器中检测云盘服务器。检测到后,拷贝数据到CV服务器指定目录下。 3.4数据恢复概述 数据恢复时对应主、副服务器,从CV服务器上进行相关操作,将备份的主服务器与副服务器的/data/data_all、/lefsdata、/usr/local/lefos传输回备份服务器目录位置,检测拷贝后文件的所有者与所有组、权限是否正确,重启所有服务。

mysql数据库备份与恢复

my sql数据库备份与恢复 windows下实现mysql数据库定时备份功能一、进入mysql的bin目录 二、导出: [mysql bin path]>mysqldump--opt-d-u root-p dbn> backup-file.sql Enter password:****** 三、导入: [mysql bin path]>mysql-u root-p dbn<backup-file.sql Enter password:****** 四、收尾工作:清理sql文件,导出时会在bin目录下生成backup-file.sql 文件,在导入工作完成后就没用了,可以删了,当然留着也可以。

我自己的用的备份语句: d: cd\mysql\mysql5.1.30\bin mysqldump--opt-uroot-p123456 bbs_sikaozhoubao_com>E:\backup\bbs_sikaozhoubao_com\%date:~ 0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.sq l 更多的说明: 导出要用到MySQL的mysqldump工具,基本用法是: shell>mysqldump[OPTIONS]database[tables] 如果你不给定任何表,整个数据库将被导出。 通过执行mysqldump--help,你能得到你mysqldump的版本支持

的选项表。 注意,mysqldump没有--quick或--opt选项,mysqldump将在导出结果前装载整个结果集到内存中,如果你正在导出一个大的数据库,这将可能是一个问题。 mysqldump支持下列选项: --add-locks 在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(为了使得更快地插入到MySQL)。 --add-drop-table 在每个create语句之前增加一个drop table。

数据库备份方案

《客户名称》备份管理系统设计方案上海鸿翼数字计算机网络有限公司

目录 1.项目概述 (3) 2.系统需求分析 (3) 1.1系统现状分析 (3) 1.2备份系统风险评估 (3) 1.3备份系统需求分析 (4) 3.系统备份理念 (5) 3.1系统设计指引 (5) 3.2数据保护技术选择 (5) 3.3连续数据保护 (6) 3.4备份管理系统组成 (6) 4.系统备份结构设计 (8) 4.1整体系统架构设计 (9) 5.系统备份方案介绍 (10) 5.1W INDOWS服务器自身备份 (10) 5.2方案2:双机热备 (12) 5.3方案3:爱数备份 (13)

1.项目概述 上海鸿翼数字计算机网络有限公司将根据《》的网络实际需求,制定一套完整的集数据备份、灾难恢复、服务器整合及虚拟化一身的方案。一个完整的企业数据备份与恢复解决方案就意味着数据安全与性能(机器和网络)的完美结合,一条龙式的服务标准(产品的服务与支持)。所以在选择备份系统时,既要做到满足系统容量不断增加的需求,又要所用的备份方式能够支持多系统平台操作。要达到这些,就要充分使用网络数据存储系统,在分布式网络环境下,通过专业的数据存储软件,配合系统备份及双机备份,结合相应的硬件和存储设备,对网络的数据备份进行集中管理,从而实现自动化备份、文件归档、数据分级存储和灾难恢复。 2.系统需求分析 1.1系统现状分析 《》网络基础结构是基于Windows平台,现在拥有X台服务器。《》的文档管理系统包含了文件服务器、转档服务器、数据库服务器等企业信息管理系统,为企业的发展提供了强有力的信息化支持。主要数据库包含了Microsoft SQL Server、Oracle、DB2等。 1.2备份系统风险评估 《》的信息系统管理人员十分重视数据的保护,在没有备份软件的情况下,已经采用了重要数据镜像备份、服务器系统镜像备份等常规保护方法,为企业的数据财产提供了安全的保障。但是以上方法很难实现快速备份和灾难后的迅速恢复,很难保证业务的连续性。

数据备份与恢复方案0803

目录 第1章数据备份与恢复 (2) 1.1 数据库备份方案背景 (2) 1.2 备份与恢复概述 (2) 1.3 数据库备份与恢复所要达到的目标 (2) 第2章数据备份方案 (3) 2.1 备份工具的选取 (3) 2.2 数据备份方案 (3) 2.3 备份实施需求 (3) 2.4 数据备份的几种方式 (4) 第3章数据恢复方案 (5) 3.1 数据恢复的几种方式 (5) 第4章相关参数以及备份恢复示例 (6) 4.1.1 相关参数 (6) 4.1.2 数据备份恢复示例 (7) 第1页

第1章数据备份与恢复 1.1 数据库备份方案背景 随着电子化进程的飞速发展和信息技术的广泛应用,数据越来越成为企业、事业单位日常运作中不可缺少的部分和领导决策的依据。但是,计算机的使用有时也会给人们带来烦恼,那就是计算机数据非常容易丢失和遭到破坏。有专业机构的研究数据表明:丢失300MB的数据对于市场营销部门就意味着13万元人民币的损失,对财务部门意味着16万的损失,对工程部门来说损失可达80万。而丢失的关键数据如果15天内仍得不到恢复,企业就有可能被淘汰出局。随着计算机系统越来越成为企业不可或缺的数据载体,如何利用数据备份来保证数据安全也成为我们迫切需要研究的一个课题。 1.2 备份与恢复概述 备份与恢复是我们使用数据库中不可缺少的部分,也是我们在使用数据库时会经常碰到的问题,当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、软件故障、网络故障、进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。因此当发生上述故障后,希望能重新建立一个完整的数据库,该处理称为数据库恢复。 1.3 数据库备份与恢复所要达到的目标 备份仅仅是数据保护的手段,“备份数据必须能够迅速、正确的进行恢复”才是真正的目地,换句话说,企业规划备份架构时应该以恢复为最终目的进行构架,当意外发生时、当用户端提出恢复需求时,备份数据要能快速、可靠的恢复,如此的备份才是值得信赖的备份,才有其存储的意义。

完整word版数据库备份与恢复方案

数据库备份与恢复方案特别是计算机网络的飞速随着计算机的普及和信息技术的进步,数据备份是保证信息安全的一个发展,信息安全的重要性日趋明显。重要方法。就有可能产生数据故数据存储和数据交换,只要发生数据传输、障。这时,如果没有采取数据备份和数据恢复手段与措施,就会导致数据的丢失。有时造成的损失是无法弥补与估量的。数据故障可划分为系统故通常,数据故障的形式是多种多样的。从信息安全数据库备份与恢复方案事务故障和介质故障三大类。障、,也会产生不同种类的角度出,实际上第三方或敌方的“信息攻击”“黑客”入侵型、的数据故障。例如:计算机病毒型、特洛伊木马型、数据被修改、这些故障将会造成的后果有:数据丢失、逻辑炸弹型等。要千方百计地维护系作为系统管理员,增加无用数据及系统瘫痪等。统和数据的完整性与准确性。通常采取的措施有:安装防火墙,防止“黑客”入侵;安装防病毒软件,采取存取控制措施;选用高可靠性的软件产品;增强计算机网络的安全性。“攻击和反攻击”世界上没有万无一失的信息安全措施。信息世界 螺旋式地向前对信息的攻击和防护好似矛与盾的关系,也永无止境。发展。传输和分发中经常会存在一些新的问题,存储、处理、在信息的收集、1 其中最值得我们关注的就是系统失效、数据丢失或遭到破坏。威胁

数据的安全,造成系统失效的主要原因有以下几个方面: 、硬盘驱动器损坏;1 人为错误;2、黑客攻击;3、病毒;4、自然灾害;5、 电源浪涌;6、 磁干扰;、7 也是防止主因此,数据备份与数据恢复是保护数据的最后手段, 动型信息攻击的最后一道防线。 数据备份方案SQL SERVER 数据库的备份方法主要有完整备份,差异备份,事SQL SERVER 推荐的备份方式为每周一次根据数据安全性的要求,务日志备份等。完整备份,每天一次差异备份,每半个小时一次事务日志备份。和db_owner 固定服务器角色以及默认情况下,为sysadmin 2 BACKUP DATABASE 固定数据库角色的成员授予db_backupoperator 权限。和BACKUP LOG 备份设备的物理文件的所有权和权限问题可能会妨碍备份操作。 服务的帐SQL Server SQL Server 必须能够读取和写入设备;运行户必须具有写入权限。备份文件存放磁盘需要与数据库文件存放磁盘分开,避免磁盘 冲突。备份执行时间与数据库作业执行时间错开,避免备份影响IO 数据库作业的执行。维护计划功能可以较好的实现自动化备份,在使用SQL SERVER 代理功能。如下图:该功能前启动数据库管理器上的SQL SERVER

SQL数据库备份与恢复操作流程

1.数据库备份 1)打开“开始”——“程序”——Microsoft SQL Server——企业管理器,进入之后,将页面左边的“控制台根目录”下的“+”一个一个都点开,一直到点开“数据库”前的“+”。可以看到第一个数据库应该是CORPSCAN,在这个数据库上面点右键,选择“所有任务”中的“备份数据库”,如下图所示: 2)在弹出的选择框中点“添加”按钮:

3)弹出如下的窗口: 且必须给这个备份文件起一个文件名(一般我们都以日期做为备份文件名),如

下图所示: 上述备份文件就是放在D:\ 这个目录下,文件名为20051120。然后点“确定”。4)可以看到“备份到”那里有个路径和文件名了,其它什么都不用动,然后点“确定”就可以了,如下图所示: 备份文件成功后会有提示信息,可以到备份的目录下找到备份的文件。

2.数据库还原 和数据库的备份操作类似。具体流程如下: 1)打开“开始”——“程序”——Microsoft SQL Server——企业管理器,进入之后,将页面左边的“控制台根目录”下的“+”一个一个都点开,一直到点开“数据库”前的“+”。可以看到第一个数据库应该是CORPSCAN,在这个数据库上面点右键,选择“所有任务”中的“还原数据库”,如下图所示: 2)在弹出的页面上,在“还原”那里选择“从设备”,然后点一下“选择设备”,如图所示:

3)在弹出的页面上点一下“添加”按钮,就出现“选择还原目的”的对话框,在“文件名”后面有个浏览按钮,在那里选择要还原的文件(就是之前备份的数据库文件),然后点“确定”,再确定,再确定,就可以了,还原成功之后会有提示的:

oracle数据库备份与恢复方案

oracle数据库备份与恢复方案 受控不受控

目录 一、编写目的 (1) 二、备份工具及备份方式 (1) 三、软件备份 (1) 四、软件恢复 (1) 五、数据备份 (2) 六、备份的存储 (2) 七、备份数据的保存规定 (2) 八、备份介质的格式 (3) 九、数据恢复 (4)

一、编写目的 本文档主要说明公司项目在实施现场的软件及数据的备份和恢复方案。 二、备份工具及备份方式 1.备份工具 Oracle RMAN(Recovery Manager):是一种用于备份(backup)、还原(restore)和恢复(recover)数据库的Oracle 工具。RMAN只能用于ORACLE8或更高的版本中。它能够备份整个数据库或数据库部件,如表空间、数据文件、控制文件、归档文件以及Spfil e参数文件。RMAN也允许您进行增量数据块级别的备份,增量RMAN备份是时间和空间有效的,因为他们只备份自上次备份以来有变化的那些数据块。 2.备份方式 (1)自动备份:由Wind ows 计划任务调度完成; (2)手工备份:完成特殊情况下的备份,分热备份和冷备份,热备份是指在不关闭数据库情况下进行备份,冷备份则需要停止Oracle实例服务。 三、软件备份 1.以七天为一个周期每天23:00将所有软件拷贝到其他存储介质上 2.超出七天的备份依次删除 3.每月一号将上月最后7天的备份文件刻录到光盘上 四、软件恢复 1.找出最近的备份程序覆盖到正式运行环境的相应目录中

五、数据备份 1.业务系统或数据库在打重要补丁或升级的前后,必须按要求对业务系统进行停机备份或非停机备份,备份需包含应用和数据库的文件系统及数据,备份方式为手工备份,使用RMAN执行备份; 2.系统日常备份:作为7*24运行的重要系统,必须最小化数据丢失的同时,还需要尽可能缩短恢复时间,数据库的日常备份策略如下: (1)确保数据库处于ArchiliveLog模式; (2)每日凌晨01:00执行数据库全备份,含控制文件备份; (3)每四小时间隔执行数据库归档日志备份,含控制文件备份; (4)每间隔两周执行数据库与应用系统文件备份,执行时间:数据库服务器在第一周的周六05:00,应用服务器在第一周的周六7:00。 3.每周一将上周的备份文件拷贝到其它存储介质上; 4.每月一号将上月最后一周的备份文件刻录到光盘上。 六、备份的存储 1.在确保成功备份数据的同时,必须严格保证存储结构的完整性,在备份服务器或备份带库上需要保留足够的剩余空间,以存储需要保存的多份备份文件; 2.如项目上采用了专门的备份软件,有专用的备份存储,应提前规划好备份的存储空间,比如按时间特征存储相对应的备份:年备份池、月备份池、日备份池;和按类型存储的备份池:os文件系统池、db数据库池等; 3.如未采用专门的备份软件,在备份服务器上架设专门的ftp服务器,每次备份之后,由计划任务定时调度,将备份数据传输至备份服务器,传输备份数据的时间应选在服务器业务较少的空闲时间进行。 七、备份数据的保存规定 1.年备份永久保存(即每年最后一天的备份)

数据库的创建、备份与恢复

北京建筑大学 理学院信息与计算科学专业实验报告 课程名称数据库原理及应用实验名称数据库的创建、备份与恢复实验地点 姓名班级学号日期指导教师成绩 1、巩固数据库的基础知识。 2、掌握使用SQL Server2000企业管理器和T_SQL语句两种方法创建数据库。 3、掌握使用SQL Server2000企业管理器和T_SQL语句两种方法查看、修改数据库属性。 4、掌握使用SQL Server2000企业管理器和T_SQL语句两种方法更改与删除数据库。 5、掌握使用SQL Server2000企业管理器备份和还原数据库。 【实验要求】 使学生能够巩固数据库的基础知识,掌握使用SQL Server2000企业管理器和T_SQL语句两种方法创建数据库、查看和修改数据库的属性、更改与删除数据库,并且能使用SQL Server2000企业管理器备份和还原数据库。 【实验环境】 1、操作系统:WinXp Professional 2、数据库:SQL Server 2000个人版 【实验内容】 1、在D盘根目录下建立两个文件夹sql-data和sql-log。打开查询分析器,注意选择所连接的SQL SERVER 为你自己的机器,连接使用“windows身份验证”。用create database语句按以下要求在本地SQL SERVER 下建立数据库。 数据库文件名称为:PPLQ 主数据文件逻辑名称为:PPLQ_DA TA 主数据文件物理名称为:“D:\sql-data\PPLQ_DA TA.mdf” 初始大小为:2MB 最大尺寸为:不受限制 文件自动增长速度为:10% 辅数据文件逻辑名称为:PPLQ_DA TA2 辅数据文件物理名称为:“D:\sql-data\PPLQ_DA TA2.ndf” 初始大小为:3MB 最大尺寸为:200MB 文件自动增长速度为:10MB 事务日志文件逻辑名称为:PPLQ_LOG 事务日志文件物理名称为:“D:\sql-log\PPLQ_LOG.ldf” 初始大小为:1MB 最大尺寸为:20MB 文件自动增长速度为:2MB 调试运行成功后,在企业管理中找到所建立的数据库,打开属性窗口,观察所建数据库的属性是否和以上要求一致。

相关主题
文本预览
相关文档 最新文档