mysql同一台服务器上不同数据库中个别表内容同步
>>>>>>soft_wsx>>>>>>
--数据备份与还原>>同步备用服务器
--1、完全备份主数据库
--2、使用带SANDBY子句的RESTORE DATABASE语句从主数据库的完全备份中还原生成备用数据库
--3、创建作业,使用BACKUP LOG定时对主数据库时行日志备份
--4、创建作业,使用带STANDBY子句的RESTORE LOG语句定时从主数据库的日志备份中恢复数据到备用数据库
--5、主数据库不可用时,使用带RECOVERY子句的RESTORE LOG语句使备用数据库升级为主数据库
----具体代码及说明如下
---->>首先、创建一个淙用的数据库(主数据库)
create database db_test_primary
on
(
name=db_test_primary_data,
filename='d:\db_test_primary_data.mdf')
log on
(
name='db_test_primary_log',
filename='d:\db_test_primary_log.ldf'
)
go
--在主数据库上创建表
create TABLE db_test_primary.dbo.db_test_primary1(id int)
insert db_test_primary.dbo.db_test_primary1 select top 1000 ID from dbo.sysobjects
go
--对主数据库进行备份
backup database db_test_primary
to disk='d:\db_test_primary_data.bak'
with format
go
--通过主数据库备份文件创建备用数据库(演示主数据库与这个备用数据库之间的同步)
restore database db_test_second
from disk='d:\db_test_primary_data.bak'
with replace,
standby='d:\db_test_primary_bak.ldf',
move 'db_test_primary_data' to 'd:\db_test_second_data.mdf',
move 'db_test_primary_log' to 'd:\db_test_second_log.ldf'
--启动SQL AGENT服务(需要通过作业定时将主数据库同步到备用数据库)
exec master.dbo.xp_cmdshell 'net start sqlserveragent',no_output
go
--创建主服务数据库与备用服务器数据库之间同步的作业
declare @jobid uniqueidentifier
exec msdb.dbo.sp_add_job
@job_id=@jobid output,
@job_name=N'数据同步'
--创建同步处理步骤
exec msdb.dbo.sp_add_jobstep
@job_id=@jobid,
@step_name=N'数据同步',
@subsystem='TSQL',
@command=N'
--主数据库中进行日志备份
backup log db_test_primary
to disk=''d:\test_log_primary.bak''
with format
--备用数据中还原主数据库的日志备份(应用主数据库中的最新变化)
--注:实际应该对主数据库备份与备用数据库的还原作业应该分别在主服务器和备用服务器上建立,
--并且备份文件应该放在主服务器和备用服务器都能访问的共享目录中
restore log db_test_second
from disk=''d:\test_log_primary.bak''
with standby=''d:\test_log.ldf''',
@retry_attempts=5,
@retry_interval=5
--创建调度
exec msdb.dbo.sp_add_jobschedule
@job_id=@jobid,
@name='时间安排',
@freq_TYPE=4,
@freq_interval=1,
@freq_subday_type=0x4,
@freq_subday_interval=1
--添加目录服务器
exec msdb.dbo.sp_add_jobserver
@job_ID=@jobid,
@server_name=N'(local)'
go
--通过上述处理,主数据库与备用数据库之间的同步关系已经设置完成
--下面开始测试是否能实现同步
create table db_test_primary.dbo.db_test_primary3(id int)
go
insert db_test_primary.dbo.db_test_primary3 select top 5000 id from dbo.sysobjects
waitfor delay '00:01:30'
go
--查询一下备用数据库,看看同步是否成功
select * from db_test_second.dbo.db_test_primary3
drop table db_test_primary.dbo.db_test_primary3
--最后删除测试环境
drop database msdb.dbo.sp_delete_job
@job_name=N'数据同步'
mysql同一台服务器上不同数据库中个别表内容同步的更多相关文章
- JDBC上关于数据库中多表操作一对多关系和多对多关系的实现方法
黑马程序员 我们知道,在设计一个Javabean的时候,要把这些BEAN 的数据存放在数据库中的表结构,然而这些数据库中的表直接又有些特殊的关系,例如员工与部门直接有一对多的关系,学生与老师直接又多对 ...
- SQL Server2005 两台服务器上的数据库互相同步(转载)
1.1测试环境 Item 发布机 A 订阅机 B OS Windows 2003 Server Windows 2003 Server SQL SQL Server 2005 企业版 SQL Serv ...
- SQL Server2005 两台服务器上的数据库同步(转载)
1.1测试环境 Item 发布机 A 订阅机 B OS Windows 2003 Server Windows 2003 Server SQL SQL Server 2005 企业版 SQL Serv ...
- MySql存储过程批量删除多个数据库中同名表中的指定字段
1. 创建存储过程batchDeleteField:删除所有名称为"MyDB_"开头的数据库中的指定字段 -- ---------------------------- -- Pr ...
- SQLSERVER 触发器 将一个服务器上的数据库中数据插入到另一个服务器上的数据库中怎么做
首先要执行 sp_addlinkedserver '服务器ip' 然后开始写语句 insert into ip.库名字.dbo.table select * from iserted
- 将Oracle数据库数据每天备份恢复一次数据到另一台服务器上两份数据
1.创建用户,授权,创建测试数据 创建用户 CREATE USER test identified by 123; 授权 grant dba to test; 创建测试数据 create table ...
- mysql数据库从一台服务器迁移到另一台服务器上
一.应用场景 由于要把测试服务器上的数据库迁移到正式服务器上,因此需要做数据库的迁移.这里记录一下. 二.数据库迁移1.新建数据库test create database test;12.进 ...
- Capistrano:自动完成多台服务器上新版本的同步更新,包括数据库的改变
https://baike.baidu.com/item/Capistrano/6844928?fr=aladdin Capistrano是一种在多台服务器上运行脚本的开源工具,它主要用于部署we ...
- 如何在一台服务器上安装两个mysql或者更多
如何在一台服务器上安装两个mysql 1 前言 上篇写了在一台机器上源码编译安装一个mysql,那么如何在一台机器上源码编译安装两个mysql或者更多呢? 2 环境 mysql ...
随机推荐
- zencart分类页产品页去掉url中的id号
最近公司新上的网站被seo指出要修改url,去掉url中产品id.由于我们用的是zencart框架,装了 Ultimate SEO URLs 插件,所以在网上应该有这方面的资料,本文主要参考资料: 原 ...
- String、StringBuffer与StringBuilder之间区别[全屏看文]
String.StringBuffer与StringBuilder之间区别[全屏看文] 最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,S ...
- Python socket编程
一.什么是socket: socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求 ...
- Ajax 局部刷新
方式一:function hits1(troops) { var troops = troops; var ajax=Ajax(); var url = 'xxx.php'; ...
- System.nanoTime与System.currentTimeMillis的区别
平时产生随机数时我们经常拿时间做种子,比如用 System.currentTimeMillis的结果,但是在执行一些循环中使用了System.currentTimeMillis,那么每次的结 果将会差 ...
- Navicat For Mysql快捷键
1.ctrl+q 打开查询窗口 2.ctrl+/ 注释sql语句 3.ctrl+shift +/ 解除注释 4.ctrl+r 运行查询窗 ...
- CF459C Pashmak and Buses (构造d位k进制数
C - Pashmak and Buses Codeforces Round #261 (Div. 2) C. Pashmak and Buses time limit per test 1 seco ...
- PHP文件操作 读取与写入
基本知识: PHP文件系统是基于Unix系统的 文件数据基本类型:二进制数据.文本数据 文件输入流:数据从源文件到内存的流动 文件输出流:数据从内存保存到文件的流动 文件操作函数: >>& ...
- 兼容ie的jquery ajax文件上传
Ajax文件上传插件很多,但兼容性各不一样,许多是对ie不兼容的,另外项目中是要求将网页内容嵌入到桌面端应用的,这样就不允许带flash的上传插件了,如:jquery uploadify...悲剧 对 ...
- SRM 513 2 1000CutTheNumbers(状态压缩)
SRM 513 2 1000CutTheNumbers Problem Statement Manao has a board filled with digits represented as St ...