我在 MySQL 5.0 中有一个损坏的中继日志,正在寻找修复复制的步骤,而不必再次重新处理来自主服务器的所有二进制日志。
如果您好奇,这里是完整的错误消息:
无法解析中继日志事件条目。可能的原因有:master的二进制日志损坏(可以通过运行'mysqlbinlog'查看二进制日志),slave的relay log损坏(可以通过运行'mysqlbinlog'查看relay log),a网络问题,或者 master 或 slave 的 MySQL 代码中的错误。如果您想检查主站的二进制日志或从站的中继日志,您将能够通过在此从站上发出“显示从站状态”来知道它们的名称。
正常的修复非常简单,您只需从 show slave status 中获取正确的二进制日志名称和位置并运行 change master 命令。但这不是我想做的。
我只想重新处理来自 master 的一个或几个二进制日志以恢复损坏的中继日志,然后继续使用已经创建的中继日志。我正在寻找过去有这样做经验的人,因为以这种方式进行恢复可能会失败。
从概念上讲,我认为可能需要以下步骤(也许其中一些是可选的):
我正在考虑另一种方法来做到这一点,这似乎更简单:
我有两个 MySQL 实例,一个 master 和一个 slave。
如何在避免停机的同时切换它们以使从站成为主站,反之亦然?
这是否有可能让 SQL Server 2008 发布者与 SQL Server 2012 订阅者进行合并复制?
replication sql-server-2008 sql-server-2012 merge-replication
我有一个小问题...
我有这个案例:
2个服务器实例
2 数据库
1 表(5 列)
我从服务器 1创建了发布来复制我在DB1 中的所有表列。
从服务器 2我创建订阅以从DB1 中的表中提取所有列。
但是现在,我需要将同一表的一列从服务器 2 发布到服务器 1,并且它必须在同一个数据库中...
我尝试使用逻辑并为服务器 2创建发布并在服务器 1上订阅,但出现错误:
您已选择发布者作为订阅者并输入与发布数据库相同的订阅数据库。选择另一个订阅数据库。
I need it to be A to B and B to A replication
Run Code Online (Sandbox Code Playgroud)
我希望有人理解我的问题并为我解答。
ps 如果您需要,请询问更多信息...
我目前正在为我的数据库设置复制,我正在考虑在不写锁定主站的情况下同步主站和从站的方法之一,是首先获取日志位置然后执行备份,然后在从站上恢复备份并开始具有日志位置的从站(将在进行备份之前),我看到这种方法的问题之一是从站将重新应用对其自身的更改,这在我们拥有的系统类型中不是问题,是否任何其他人看到这种方法的任何其他陷阱?或者有没有其他更好的选择来实现这一目标?
我们正在使用 MySQL。我们有一个 master,最终会有 2 个 slave。当某些表中的数据发生变化时,数据库中有触发器会执行。我想知道是否禁用奴隶中的触发器。在我看来,我应该。似乎应该在从站中禁用时间戳之类的东西,否则从站上的数据将与主站上的数据不同。
我不是 DBA,我是开发人员。我们公司没有 DBA,所以运营管理员和我正在解决这个问题。我们已经设置并复制了主站和一个从站,我们在从站上遇到了重复输入错误。
我们正在考虑不要因为重复的复制错误而停止复制,如这篇文章所示:http : //www.ducea.com/2008/02/13/mysql-skip-duplicate-replication-errors/。我们不知道这是否是个好主意。我确实觉得这掩盖了问题,但我们都不知道如何解决问题。
如果我们应该禁用触发器和/或设置从属设备不插入时间戳,我们该怎么做?还是将 db 建立为从站会自动执行这些操作?
我正在尝试将数据以 CSV 文件形式加载到 mysql 数据库中。我发现我们可以使用 LOAD DATA INFILE 命令来做到这一点。但根据 mysql 文档,它不是复制安全的。(见这里)
有没有比通过应用程序更好的方法来做到这一点?
我正在寻找复制快照超过我们预测的 5 倍的解释
复制失败后,我们尝试使用新快照重新初始化订阅。数据库大小为135GB,数据库中的一张表为60GB - 我们已将本文从出版物中排除。这意味着我们期望快照大小约为 75GB。
我们曾多次尝试创建快照,但由于磁盘空间不足而失败。昨晚快照用 340GB 的可用空间填充了磁盘。
我欢迎对这个巨大的快照大小的任何解释。
在检查可能的原因时,我注意到快照格式设置为“字符 - 如果发布者或订阅者未运行 SQL Server,则为必需”。尽管事实上这种跨国复制的两端都是本机 SQL Server。格式之间有大小不同吗?
提前致谢。
Native mode file Size:105 MB
C:>bcp IVM_ArchiveTest.dbo.Event out D:\NOBACKUP\UseOnce\EventNative.dat -T -n
218977 rows copied. Network packet size (bytes): 4096 Clock Time (ms.)
Total : 7878 Average : (27796.01 rows per sec.)
Character mode file Size:66 MB
C:\>bcp IVM_ArchiveTest.dbo.Event out D:\NOBACKUP\UseOnce\EventChar.dat -T -c
218977 rows copied. Network packet size (bytes): 4096 Clock Time (ms.)
Total : 1654 Average : (132392.38 rows per …Run Code Online (Sandbox Code Playgroud) 嗨,我有 SQL SERVER 2008R2 数据中心版,我使用 SSRS 和供应商应用程序进行报告。我有一个报告服务器,我们每天从 Live Server 备份和恢复,以便为我们的报告提供数据。
因此,我面临许多问题,因此开发的任何代码都必须等待一天,直到恢复完成才能进行测试。任何在 Reporting Server 上开发的代码都是重写的。惊喜报告显示了一天前的数据,我可以继续下去。
我知道我有两个可用的镜像和复制选项:
镜像将允许只读模式并且报告运行正常吗?这种只读模式是否有我遗漏的任何其他含义?
复制我在所有表上都没有主键,所以我只能选择使用全局唯一标识符 (GUID) 的合并复制选项,我不能让 sql server 将此列添加到我数据库中的所有表中。
任何人都可以建议我在另一台服务器上为报告目的拥有 Sql Server 数据库的 Live Copy 的解决方案吗?
我的要求
请建议任何解决方案,因为这将是一个很大的帮助提前谢谢你。
我有一个 Master - Master 复制设置,它可以正常工作几天,但我不断收到:几天后出现重复输入错误。
我的设置如下:荷兰的一台服务器和华盛顿特区的一台服务器都运行 Windows Server 2012 R2 和 MySQL 5.6.15 X64。
我遵循了本教程。
我的my.ini文件包含以下内容:
server-id = 1
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 1
log_bin=mysql-bin
log_error=mysql-bin.err
binlog_do_db=joomlatest
binlog_do_db=sapp
binlog_do_db=tcadmin
binlog_do_db=whmcs
Run Code Online (Sandbox Code Playgroud)
server-id = 2
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 2
log_bin=mysql-bin
log_error=mysql-bin.err
binlog_do_db=joomlatest
binlog_do_db=sapp
binlog_do_db=tcadmin
binlog_do_db=whmcs
Run Code Online (Sandbox Code Playgroud)
两台服务器都不断停止从站,并且都报告相同的内容:重复输入错误。例如:
查询中的键“PRIMARY”的错误“重复条目“4353”。
我怎样才能防止这种情况发生?