打开navicat客户端,连上mysql后,双击左边你想要备份的数据库。点击“计划”,再点击“新建批处理作业”。
成都创新互联公司是一家专业提供张掖企业网站建设,专注与成都网站设计、网站建设、H5建站、小程序制作等业务。10年已为张掖众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
双击上面的可用任务,它就会到下面的列表里去,代表你选择了这个任务。
点击保存,弹出个命名对话框,给这个任务取个名字,点击“确定”。
点击“设置”计划任务。
弹出的对话框,选择“计划”,再点击“新建”。
这里设置为从2014年1月24号起每天早上九点备份该数据库。如果你想提高备份频率、或者设置备份截止日期,请点击“高级”。
高级选项可以把备份设置的更精细,比如这里设置的是在24小时内每隔2小时就备份一次。加上前面的基本设置,任务计划就是:从2014年1月24号开始,每天九点,每隔2小时备份一次,每天的备份都持续24小时。
最后,输入电脑密码就大功告成。
用数据库快照就能实现啊.
Oracle快照原理及实现总结
Oracle数据库的快照是一个表,它包含有对一个本地或远程数据库上一个或多个表或视图的查询的结果。对于中大型数据库,业务数据库里所有的数据同步到另外一个处理服务器上最佳的选择还是使用SnapShot方式,即快照的方式。
由于工作需要,今天需要将业务数据库里所有的数据同步到另外一个处理服务器上。在做方案的时候,想了很多方法,当然最快的办法还是使用物理热备的方式。
但是我个人认为如果对于中大型数据库(我们的数据库有300G左右)最佳的选择还是使用SnapShot方式,即快照的方式。
Oracle数据库的快照是一个表,它包含有对一个本地或远程数据库上一个或多个表或视图的查询的结果。也就是说快照根本的原理就是将本地或远程数据库上的一个查询结果保存在一个表中。
以下是我建立的Snapshot,目的是从业务数据库上将数据Copy到处理数据库上,是不同的两个服务器之间对数据copy。
第一步:在处理服务器上的Oracle终端,建立database link,业务数据库服务器SID为TEST
create database link TEST_DBLINK.US.ORACLE.COM
connect to AMICOS identified by AMICOS
using 'test';
第二步:在业务数据库上对应的表建立快照日志
Create snapshot log on A_Table;
第三步:建立Snapshot 快照名称为:Test_SnapShot
Create snapshot Test_SnapShot
REFRESH COMPLETE START WITH SYSDATE NEXT SYSDATE+1/24
as select * from A_Table@TEST_DBLINK
说明:REFRESH是刷新方法
刷新方式有:COMPLETE和FAST两种,而START WITH是说明开始执行的时间。
Next是下次执行的时间
而AS以后是构成快照的查询方法。
相关的方法:
更改快照
ALTER SNAPSHOT Test_SnapShot
REFRESH COMPLETE START WITH SYSDATE NEXT SYSDATE+1/2;
手动刷新快照 在命令界面执行:
EXEC DBMS_SNAPSHOT.REFRESH('Test_SnapShot ','C');
第一个参数是要刷新的快照名
第二个参数是刷新的方式,F----FAST, C---COMPLETE
查看快照最后刷新的日期
SELECT NAME,LAST_REFRESH
FROM ALL_SNAPSHOT_REFRESH_TIMES;
最后非常的方案:
1:为需要做Snapshot的表建立Snapshot日志
create snapshot log on t1 with rowid; 这里使用ROWID建立日记的参数
2:采用Fast的方式建立快照,使用rowid做为参考参数
create snapshot fb_test_b refresh fast with rowid start with sysdate next sysdate+1/1440 as select * from fb_test_b@my_dblink;
最好能按照rowid来建立快照。要不然就必须要为表建立Primary Key。
备份表结构,(主键、索引、等) 表数据;
备份方法2种:1 如果你的开发环境是php的, 下一个phpmyadmin 的mysql web 后台管理中心可进行备份等诸多操作
2:使用CMD 进入 mysql 控制台, 使用mysqldump命令进行备份
前提是把MYSQL的安装路径\bin添加到系统环境变量PATH中了。
备份:mysqldump -u root -p123456 kcgl c:\20090219.sql
mysqldump 备份命令
root 用户名(root管理员)
123456 密码
kcgl 备份的数据库名;
备份符号
20090219.sql 备份的文件名
还原:
mysql -u root -p123456 kcgl c:\20090219.sql
mysql 还原命令
root 用户名(root管理员)
123456 密码
dbcurr 备份的数据库名;
还原符号
20090219.sql还原的文件名
注意:首先要确保你的mysql 中有kcgl这个库,还原命令是不会自动建库的。
mysqldump 远程备份
mysqldump -h ip -uroot -proot database c:\data.sql
---------其他---------
mysqldump备份:
mysqldump -u用户名 -p密码 -h主机 数据库 a -w "sql条件" --lock-all-tables 路径
案例:
mysqldump -uroot -p1234 -hlocalhost db1 a -w "id in (select id from b)" --lock-all-tables c:\aa.txt
mysqldump还原:
mysqldump -u用户名 -p密码 -h主机 数据库 路径
案例:
mysql -uroot -p1234 db1 c:\aa.txt
mysqldump按条件导出:
mysqldump -u用户名 -p密码 -h主机 数据库 a --where "条件语句" --no-建表 路径
mysqldump -uroot -p1234 dbname a --where "tag='88'" --no-create-info c:\a.sql
mysqldump按导入:
mysqldump -u用户名 -p密码 -h主机 数据库 路径
案例:
mysql -uroot -p1234 db1 c:\a.txt
mysqldump导出表:
mysqldump -u用户名 -p密码 -h主机 数据库 表
案例:
mysqldump -uroot -p sqlhk9 a --no-data
-------------------------------------------------
mysqldump命令介绍
--all-databases, -A: 备份所有数据库
--databases, -B: 用于备份多个数据库,如果没有该选项,mysql dump 把第一个名字参数作为数据库名,后面的作为表名。使用该选项,mysql dum把每个名字都当作为数据库名。
--force, -f:即使发现sql错误,仍然继续备份
--host=host_name, -h host_name:备份主机名,默认为localhost
--no-data, -d:只导出表结构
--password[=password], -p[password]:密码
--port=port_num, -P port_num:制定TCP/IP连接时的端口号
--quick, -q:快速导出
--tables:覆盖 --databases or -B选项,后面所跟参数被视作表名
--user=user_name, -u user_name:用户名
--xml, -X:导出为xml文件
1.备份全部数据库的数据和结构
mysql dump -uroot -p123456 -A F:\all.sql
2.备份全部数据库的结构(加 -d 参数)
mysql dump -uroot -p123456 -A -dF:\all_struct.sql
3.备份全部数据库的数据(加 -t 参数)
mysql dump -uroot -p123456 -A -tF:\all_data.sql
4.备份单个数据库的数据和结构(,数据库名mydb)
mysql dump -uroot -p123456 mydbF:\mydb.sql
5.备份单个数据库的结构
mysql dump -uroot -p123456 mydb -dF:\mydb.sql
6.备份单个数据库的数据
mysql dump -uroot -p123456 mydb -tF:\mydb.sql
7.备份多个表的数据和结构(数据,结构的单独备份方法与上同)
mysql dump -uroot -p123456 mydb t1 t2 f:\multables.sql
8.一次备份多个数据库
mysql dump -uroot -p123456 --databases db1 db2 f:\muldbs.sql
还原部分分(1)mysql 命令行source方法 和 (2)系统命令行方法
1.还原全部数据库:
(1) mysql 命令行:mysql source f:\all.sql
(2) 系统命令行: mysql -uroot -p123456 f:\all.sql
2.还原单个数据库(需指定数据库)
(1) mysql use mydb
mysql source f:\mydb.sql
(2) mysql -uroot -p123456 mydb f:\mydb.sql
3.还原单个数据库的多个表(需指定数据库)
(1) mysql use mydb
mysql source f:\multables.sql
(2) mysql -uroot -p123456 mydb f:\multables.sql
4.还原多个数据库,(一个备份文件里有多个数据库的备份,此时不需要指定数据库)
(1) mysql 命令行:mysql source f:\muldbs.sql
(2) 系统命令行: mysql -uroot -p123456 f:\muldbs.sql
[b]# 这种是备份表数据到文件中,同时删除原表数据[/b]
mysqldump -u root -p12345 flow record log_$T.sql
# 但是这样是否中途有数据损失不好说
mysql -u root -p12345 -e "use flow;truncate table record;"
[b]# 这种是备份到辅助表中[/b]
mysql -u root -p12345 -e "use flow;create table record$T as select * from record
;truncate table record;"
[b]# 理论来说这种最好[/b]
mysql -u root -p12345 -e "use flow; create table log_temp like logs;
rename table logs to log_xxxx, log_temp to logs;"
# 然后再把数据导出来
------------------------------------------------------