Questions tagged «replication»

复制是共享任何级别信息的过程,以确保冗余硬件/软件资源之间的一致性,从而提高可靠性,容错性和可访问性

3
删除mysql-bin文件安全吗?
我有MM复制在MySQL和我想挤在框中一些自由空间是删除不必要的文件,我在这些进来mysql-bin的文件里面/var/db/mysql/有数百这些文件的像mysql-bin.000123,mysql-bin.000223等我已经做检查MySQL复制show master status和show slave status他们在某些位置使用一些mysql-bin文件,但是我想所有其他bin文件都是剩余的,将不再使用。在这种情况下,删除复制当前指向的所有mysql-bin文件是否安全? 如果可以安全删除,那么在不使用这些文件时,我有什么办法可以自动删除这些文件?


3
MySQL 5.1.66 SSL连接错误ERROR 2026(HY000)
更新2 使用WireShark,我发现了问题字符串(希望如此): 28 | 9.582638 | 192.168.18.128 | 192.168.18.129 | MySQL Response Error 1043 和错误是(根据docs): Error: 1043 SQLSTATE: 08S01 (ER_HANDSHAKE_ERROR) Message: Bad handshake 这是WireShark在两种情况下的屏幕截图: 从Windows 8连接(成功): 从CentOS的连接(失败): 为什么会这样? 更新 一个有趣的通知: 我已经通过使用Windows 8 (192.168.18.1)修改了Master在192.168.18.1主机上的ssluser设置,成功地与Master DB进行了连接:从REQUIRE SSL到REQUIRE X509。但是,在从属到主连接的情况下,这不适用于我们的情况。 我在CentOS-6.3中遇到了SSL复制问题。我正在使用OpenSSL创建客户端和服务器证书,并且客户端和服务器证书都由同一CA签名。 Server IP: 192.168.18.128 Slave IP: 192.168.18.129 MySQL version 5.1.66 SSL 我使用MySQL帮助页面的“设置MySQL的SSL证书和密钥”部分收到的所有证书。 服务器的my.cnf文件: [mysqld] …
37 mysql  replication  ssl 

2
在运行时切换二进制日志格式的最安全方法是什么?
由于出现以下警告mysqld.log: [警告]由于BINLOG_FORMAT = STATEMENT,因此使用语句格式将不安全的语句写入二进制日志。该语句不安全,因为它使用LIMIT子句。这是不安全的,因为无法预测其中包含的行集。 我想将复制格式切换为MIXED。 但是根据MySQL文档: 不存在任何临时表时,建议不要在运行时切换复制格式,因为临时表仅在使用基于语句的复制时才记录,而在基于行的复制中则不记录。 因此,问题是如何确定是否存在任何临时表来安全地切换二进制日志格式?

4
MySQL中继日志已损坏,如何解决?尝试过但失败了
当计算机突然关闭时,MySQL v5.1.61中继已损坏。我试图修复它,但是没有用。 - 我如何解决它?我做错什么了吗? 据我所知,损坏的MySQL中继日志很容易修复: change master to master_log_file='<Relay_Master_Log_File>', master_log_pos=<Exec_Master_Log_Pos>; 其中Relay_Master_Log_File和按Exec_Master_Log_Pos以下方式列出: mysql> show slave status; 但是,当我这样做时change master status ...,出现了主键冲突错误。那怎么可能?上面的过程不正确,还是缺少一些+1? (目前,我只是将--master-data mysqldump从主服务器重新导入到从服务器,这解决了问题。但是,将来,这样做可能不合适。) 以下是有关我的特定问题的详细信息: mysql> show slave status \G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: the-master-host Master_User: replication Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000021 Read_Master_Log_Pos: 33639968 …

5
将文章添加到事务发布中,而不会生成新快照
将SQL 2008 R2事务复制与请求订阅者一起使用时,添加文章时,我希望避免创建整个快照(数据库约为80 GB,因此需要花费数小时)。 从本文开始,我已经了解了如何通过关闭Instant_sync来使用部分快照来执行此操作,但这对我们不起作用。 理想情况下,我想将其作为数据库脚本的一部分来运行以创建表,因此,如果要复制它,可以这样做: Create Table ... sp_addArticle ... sp_PushThisToOurSubscribersNow

3
MySQL复制从站是否应该设置为只读?
通过遵循本指南,我已经在Percona Server 5.5上运行了复制,并且想知道是否应该将其添加read-only=1到从属服务器中my.cnf以使其只读。 该指南为mysql表设置了复制,以便复制用户,但是我主要是使用从属服务器来获取mysqldumps,在紧急情况下将其重新配置为主服务器,因此我认为我们不需要(或应该)启用写入功能它不断吗?

3
在热备用服务器上运行pg_dump?
免责声明:我承认还没有尝试过,但是我不确定我是否知道它是否无法正常工作,所以我想问一下。 我想pg_dumpall从运行流复制的热备用服务器(通过)运行每晚备份作业,以避免将该负载放在主服务器上。我只看到有人遇到过一些麻烦,例如在这里和这里,但很少有指导。只要备份保持一致(应该是一致的),只要备份稍微落后于主数据库就可以。 我的问题是: 我是否真的要这样做,还是应该在主服务器上完成备份?为什么? 在备用数据库上进行转储时,需要哪些设置以及正确使用该过程的步骤?例如,我必须在备份期间停止复制吗?

3
SQL Server数据库同步
问题定义 我们的用户需要具有查询最新数据库的能力。数据最多可以保留24小时,这是可以接受的。用生产副本获取和保持第二个数据库的最新成本最低的方法是什么?有我没有想到的方法吗? 工作量 我们有一个第三方应用程序,用于监视股票交易活动。白天,作为各种工作流程的一部分,会发生很多小的变化(是的,这种交易是有效的。否,这是可疑的,等等)。在晚上,我们执行基于大型集合的操作(加载前一天的交易)。 当前的解决方案和问题 我们利用数据库快照。晚上10点,我们放下并重新创建快照。然后开始ETL处理。显然,这对我们的磁盘造成了负担,但使我们的用户能够查询数据库而无需锁定数据库(他们使用Access前端)。他们在深夜和清晨使用它,因此他们会注意到停机时间。 这种方法的问题有两个方面。首先是,如果每晚处理失败,并且这种情况并非罕见,我们将还原数据库,从而导致快照被删除。另一个问题是我们的处理时间超过了我们的SLA。我们在发现书写不佳的查询和缺乏索引之后,尝试通过与供应商合作来解决此问题。数据库快照也是造成这种速度下降的罪魁祸首,我知道它存在时与不存在时的速度差异证明了这一点。 考虑的方法 聚类 我们已经打开了数据库集群功能,但是并不能满足使数据可用的需求,只是使管理员的生活更加复杂。此后已关闭。 SQL Server复制 我们上周开始研究复制。我们的理论是,我们可以建立第二个目录并与生产数据库同步。在开始ETL之前,我们将切断连接,只有在ETL过程完成后才重新启用它。 管理员从快照复制开始,但他担心生成快照以及所需的磁盘消耗会花费几天的高CPU使用率。他指出,似乎在将所有数据写出到物理文件之前,才将其发送给订户,因此我们的.6TB数据库将花费1.8TB的存储成本。另外,如果要花几天时间才能生成快照,那么它就不符合所需的SLA。 在阅读了精美的文章之后,似乎可以使用Snapshot初始化订阅者,但是之后我们希望切换到Transactional Replication以使其保持同步。我认为打开/关闭事务复制不会强制完全重新初始化吗?否则,我们会浪费时间窗口 数据库镜像 我们的数据库处于FULL恢复模式,因此可以选择数据库镜像,但是我对复制的了解甚至少于复制。我确实找到了SO答案,该答案指示“数据库镜像阻止直接访问数据,只能通过数据库快照访问镜像的数据。” 日志传送 听起来好像还可以选择日志传送,但这是我一无所知的另一件事。它会是一种比其他任何产品都更低廉的解决方案(实施和维护)吗?基于Remus的评论: “日志传送允许对副本的只读访问,但是在应用收到的下一个备份日志时(例如,每15-30分钟)将断开所有用户的连接。” 我不确定该停机时间将转换为多长时间,从而可能导致用户感到不安。 MS同步 我仅在上个周末听说过使用Sync,但尚未进行调查。我不愿为这种问题所具有的高可见性引入一种新技术,但是如果这是最好的方法,那就去吧。 SSIS 我们在这里做了很多SSIS,因此生成数百个SSIS包来保持辅助同步是我们的一种选择,尽管这是一个丑陋的选择。我不喜欢这样做,因为这是我不愿我的团队承担的大量维护费用。 SAN“魔术”快照 过去,我听说过我们的管理员使用某种SAN技术对整个磁盘进行即时备份。也许有一些EMC魔术可以用来制作mdf / ldf的uberquick副本,然后我们可以分离/附加目标数据库。 备份还原 我认为我们每周进行一次完整备份,每晚进行一次差异备份,每15分钟进行一次日志备份。如果用户可以在3-4个小时的停机时间内进行完全还原,那么我认为这可能是一种方法。 约束条件 Windows 2008 R2,SQL Server 2008 R2(企业版),VMWare v5企业版,EMC SAN存储,其中驱动器映射到vmdk文件,commvault处理备份以及源目录中的.6TB数据。这是我们内部托管的第三方应用程序。修改它们的结构通常是不赞成的。用户不能不查询数据库而拒绝通过主动标识他们监视的表来进行工作而受到约束。 目前,我们的DBA纯粹是承包商。专职人员已经起航,我们还没有替换他们。应用程序管理员对SQL Server的知识并不精通,我们的存储/ VM管理员团队可以帮助/阻碍这一工作。开发团队目前不参与,但可以根据该方法征募他们。因此,更易于实现和维护解决方案将是可取的。 我,我站在惯例的发展方面,所以我只能提出方法,而不必处理行政方面的问题。因此,没有时间在管理程序上,我很犹豫地说一种方法要优于另一种方法-根据这些论文,它们看起来都很棒。我完全愿意按照大家的建议去做,因为正如我所看到的那样,这只会使我作为数据库专家更加有价值。我有一辆独轮车,但没有大屠杀披风。 相关问题 /programming/525637/what-are-the-scenarios-for-using-mirroring-log-shipping-replication-and-cluste /programming/434982/mirroring-vs-replication /programming/4303020/sync-databases-mirroring-replication-log-shipping /programming/4303020/sync-databases-mirroring-replication-log-shipping …

3
PostgreSQL:我可以在负载下运行的实时数据库上执行pg_start_backup()吗?
我们已建立的复制已损坏(停机期间“已删除请求的WAL段”)我们无法轻松地再次停止主服务器。 我们可以做 pg_start_backup(), rsync ${PGDATA}/ 主人到奴隶, pg_stop_backup() ...当主postgresql仍处于满负荷状态时?(否则会pg_start_backup()导致 餐桌锁 I / O块 不一致, 火警, 数据库响应缓慢 换句话说,会pg_start_backup()影响我们的应用程序吗?

3
PostgreSQL不接受复制连接
普通的旧流复制。PostgreSQL:9.2.7 Windows 8.1 64位 我的主要群集和辅助群集位于同一 Windows计算机上。我已经完成了pg_start_backup()和所有操作,因此两个节点的数据完全相同。 现在,复制的问题是从属服务器的“复制连接”没有连接到主服务器,但是我可以使用psql shell使用相同的参数进行连接。我认为罪魁祸首是奴隶的recovery.conf中的连接字符串: primary_conninfo = 'host = 127.0.0.1 port = 5432 user = postgres password = postgres' 我尝试了localhost,0.0.0.0,lan IP,但pg log表示: FATAL: could not connect to the primary server: FATAL: no pg_hba.conf entry for replication connection from host "127.0.0.1", user "postgres", SSL off 现在看一下我主人的pg_hba.conf: host all …

2
我们可以在MySQL 5.0 Replication中做什么来解决带宽问题?
我正在开发一个在客户端PC(Win)上运行的应用程序,该PC配置有MySQL服务器5.1实例,该实例将充当远程主服务器的只读从属服务器。远程主服务器有几十个模式,但是每个客户端只需要一个模式,因此我在my.ini中提供了copy-do-db设置,以仅复制客户端所需的模式。复制是可行的,但是当我们的客户进入仅通过3G无线访问互联网(按数据用量收费)的地区时,他们很快就会超出数据计划的限制,并遇到了昂贵的问题。 据我了解,MySQL将所有模式的所有事务都写入单个binlog文件中,这意味着每个客户端必须下载在主服务器上的每个模式上执行的所有事务,然后一旦下载,则对每个复制应用数据库过滤器- 客户端的my.ini文件中的do-db设置。 为了最大程度地减少这种低效率,我采用了slave_compressed_protocol = 1设置,该设置似乎将传输的数据减少了50%,但仍然导致我们的客户的数据流量迅速超过了3G账单。 我无法想象我是唯一面对这个问题的人,所以我敢肯定,通过设置x = y,我将获得大量有关如何实现这一目标的答案。但是,我找不到有关这种设置的任何文档,也找不到推荐的方法。 到目前为止,这是我对可能的解决方案的想法,请提供反馈或替代路线: 为每个模式设置“代理”从属(在不同的框上,或在具有不同的MySQL实例/端口的同一框上) 配置代理从属服务器,使其仅复制客户端希望复制的一个数据库。 将客户端的MySQL实例配置为相应代理从属的从属。 这应该导致客户端仅提取其架构的binlog数据。不利的一面(据我所知)是,它极大地增加了我们设置的复杂性,可能使其更加脆弱。 有什么想法吗?这种方法还能行吗? 注意,我们正在RedHat上运行MySQL 5.0服务器,但是如果它可以解决的话,我们可以升级到5.5。

3
如何在mysql master-slave中确定master
我正在设置MySQL主从复制,并且试图找出如何处理故障转移情况,在这种情况下我会将从提升为主(万一发生故障)。 我的应用程序服务器需要将所有写入都定向到当前主服务器,但是由于两个数据库服务器位于不同物理位置的完全不同的子网上,因此我无法在主服务器和从服务器之间使用服务器级别的HA(心跳,保持活动状态)。 我认为这是我需要在应用程序级别处理的事情。我可以查询两台服务器并询问哪一台是主服务器,然后对那台服务器执行所有查询。 MySQL中是否有查询以查看当前服务器是否是主从副本中的主服务器?


5
高并发,高写入DB的基础结构
我的要求是: 3000个连接 70-85%写入与读取 目前,我们正在通过700个连接最大化高CPU超大型实例。所有8个内核均已最大化。我们认为这是并发连接数,因为内存很好。写入本身非常简单(验证很慢)。要扩展到3000,我们需要转到多台服务器,当前选项为: MySQL分片 MongoDB集群 卡桑德拉 Hadoop和MySQL(Hadoop缓存,一次转储到MySQL) MongoDB和MySQL(代替Hadoop,我们使用mongo进行缓存) 要处理此数量的连接,有几个问题: MySQL分片可以处理并发连接吗? 任何一个主服务器都可以处理这些并发连接,还是像Mongo这样的多头设备是更好的选择? 如果不能很好地描述我的问题,我深表歉意。请问问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.