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
@[email protected] output,
@job_name=N‘数据同步‘

--创建同步处理步骤
exec msdb.dbo.sp_add_jobstep
@[email protected],
@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
@[email protected],
@name=‘时间安排‘,
@freq_TYPE=4,
@freq_interval=1,
@freq_subday_type=0x4,
@freq_subday_interval=1

--添加目录服务器
exec msdb.dbo.sp_add_jobserver
@[email protected],
@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‘数据同步‘

时间: 2024-08-16 14:07:05

mysql同一台服务器上不同数据库中个别表内容同步的相关文章

如何在一台服务器上安装两个mysql或者更多

如何在一台服务器上安装两个mysql 1       前言 上篇写了在一台机器上源码编译安装一个mysql,那么如何在一台机器上源码编译安装两个mysql或者更多呢? 2       环境 mysql软件包: mysql-5.6.31.tar mysql-5.5.32.tar 操作系统环境: CentOS release 6.8 (Final) 3       系统规模 /mysqlsoft 用来存放mysql的各个程序 /mysqlsoft/mysql1 用来存放mysql-5.5.32.ta

windows下同一台服务器上装有两个ORACLE数据库实例,通过命令启停数据库

同一台服务器上装有两个ORACLE数据库实例,通过命令启停数据库,如何区分操作的是哪个数据库实例?操作如下: 1.在命令行 set oracle_sid=one_实例   //先修改环境变量,这一步等于切换了数据库实例 sqlplus /nolog    connect /as sysdba    shutdown 或者 2.连接的时候 sqlplus user/[email protected] as sysdba    //也可以指定 shutdown immediate select in

Mysql数据库中 User表权限字段说明全介绍

一:mysql权限表user字段详解: Select_priv.确定用户是否可以通过SELECT命令选择数据. Insert_priv.确定用户是否可以通过INSERT命令插入数据. Update_priv.确定用户是否可以通过UPDATE命令修改现有数据. Delete_priv.确定用户是否可以通过DELETE命令删除现有数据. Create_priv.确定用户是否可以创建新的数据库和表. Drop_priv.确定用户是否可以删除现有数据库和表. Reload_priv.确定用户是否可以执行

SqlServer A库与B库在同一台服务器上

方法1: insert into A.dbo.users(field1,field2,field3) select * from B.dbo.users 注:同一服务器,A和B为不同的数据库,如表中有自动标示,可先把自动标示取消,再执行. 方法2: a.将数据库A中的表dbo.users复制到数据库B,需要进行第一步:右击—>编辑表脚本—>CREATE到—>新查询编辑窗口,把内容复制! b.在查询中,选择数据库B,右键选择[新建查询],然后,粘贴进来上面复制的代码.记得把use B那一行

Microsoft Dynamics CRM 2011 面向Internet部署 (IFD) ADFS虚拟机环境搭建的步骤(CRM与ADFS装在同一台服务器上) 摘自网络

1: 安装windows server 2008 R2 中文版 (过程略) 安装完成后设置机器名和IP地址, 本过程机器名 crm5dev,192.168.0.110 dns: 192.168.0.110(本机) Administrator/[email protected] 2: 通过服务器管理器添加域服务,配置域服务器域名为crm5.lab. 注意:使用高级模式安装. 说明:服务器是windows server 2003 那么就选windows server 2003 服务器是windows

在多台服务器上简单实现Redis的数据主从复制

      Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构.下面我演示下怎样在多台服务器上进行Redis数据主从复制.这里我假设有两台服务器,一台是Windows操作系统(局域网IP:192.168.3.82),一台是Linux操作系统(局域网IP:192.168.3.90),在两个操作系统都安装redis,Windows操作系统使用cygwin工具进行安装,命令为: 1 2 3 $ t

数据库:MySQL实战;左链接;查询WordPress数据库中的文章内容

在1年前,我用学生价租了一个阿里云服务器(是真的便宜啊),自己在CentOS系统上用命令行搭了个WordPress的环境,开始了为期一个月使用自建博客的历程. 事实证明,博客在类似博客园这样的平台上写还是非常方便的! 不用自己优化后台,虽然WordPress已经足够傻瓜了,但是我还是太菜了 只有小贵的价格才能租到一个网速不慢+大小够用的服务器 之前考研没有工作没有收入,于是就狠下心不要了.重新捡起了长草很久的博客园. 今天,下了决心把以前的数据导出来,就有了以下的内容 1.把wordpress.

Navicat连接腾讯云服务器上的数据库

下面介绍Navicat连接腾讯云服务器上的数据库的两种方法: 方法一:[不需要修改相关远程客户端连接权限] 点击安装好的桌面navicat图标,进入后如下图: 连接方法:ssh中输入自己服务器的外网ip地址,登录服务器账号和密码 如下图: 再设置常规属性中,数据库的连接,主机填localhost,因为mysql安装在了本地服务器上,然后填入mysql的用户名及密码 如下图: 方法二:[修改相关MySQL远程客户端连接权限] 下面命令最好在root用户下执行使用:[否则可能会一些文件修改权限受阻问

【 Linux 】单台服务器上并发TCP连接数

单台服务器上并发TCP连接数    问题:一台服务器到底能够支持多少TCP并发连接呢? 1. 文件描述符限制:    对于服务器来说,每一个TCP连接都要占用一个文件描述符,一旦文件描述符使用完,新的连接到来返回给我们的错误是"Socket/File:Can't open so many files" 这时,你需要明白操作系统可以打开最大文件数的限制. 进程限制(用户限制):            执行 ulimit -n 输出1024,说明对于一个进程而言最多只能打开1024个文件,