jjzjj

replication

全部标签

mysql - 记录特定表的 mysql 更新查询

是否可以使用mysqlbinlog仅记录特定表的更改? 最佳答案 有可能只有一个(或几个)数据库用--binlog-do-db进入bin日志。在主人身上。也可以让从服务器只复制与--replication-wild-do-table匹配特定字符串的表。 关于mysql-记录特定表的mysql更新查询,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/10299569/

MySQL 复制 : struggling with replicate-rewrite-db to change the database name

我有我的主数据库,其中有一个表,产品(稍后会有更多,这只是开发)。操作系统:CentOS6.4我已将其设置为使用此复制的主服务器:在/etc/my.cnf中:server-id=1binlog-do-db=product_databaserelay-log=/var/lib/mysql/mysql-relay-binrelay-log-index=/var/lib/mysql/mysql-relay-bin.indexlog-error=/var/lib/mysql/mysql.errmaster-info-file=/var/lib/mysql/mysql-master.infore

php - 数据库切换

我正在使用mysql我想使用位于服务器A中的数据库,如果我与服务器A的连接丢失,它应该自动切换到我的本地主机数据库,当它再次连接时它应该切换到服务器A. 最佳答案 如果您只使用mysqli扩展,您应该使用此代码首先尝试建立与服务器A的连接,如果失败回退到服务器B,它将在每次页面加载时检查与A服务器的连接。options(MYSQLI_OPT_CONNECT_TIMEOUT,2);if(!$con->real_connect("serverA.localdomain:3306","root","password","dbname"))

MySQL 复制监视器 - Seconds_Behind_Master

我正在使用Nagios和check_mysql_health插件来监控我的MySQL数据库。我需要关注我的复制数据库中的Seconds_Behind_Master值,但我无法在子查询中使用SHOWSLAVESTATUS来专门获取该值。有谁知道另一种方法来获取我的从属数据库的Seconds_Behind_Master值作为单个值的值?为了使check_mysql_health插件正常工作,我只需要返回一个将被监视的数值。 最佳答案 #!/bin/bash#########################################

mysql - Mysql 和 Postgres 之间的复制,用于数据仓库

上下文:我的DBA编写了脚本,以将数据从我们拥有的主要OLTP的Mysql从站增量加载到我们的PostgresDWH暂存数据库。他要走了,我想找到一种更可持续的方式来处理这件事。所以我想在两者之间建立一个主从复制。互联网上的一些帖子涵盖了这个主题(独立于数据库的复制子),但它们看起来都过时了,并且使用的解决方案发展停滞。对我们来说,唯一可行的选择似乎是SymetricDS。你听说过这个用于BI吗?如果您不是开发人员,参与其中是否合理?维护量大吗?性能怎么样? 最佳答案 对于感兴趣的人:经过测试,我得出的结论是,SymmetricDS

MySQL 错误 1236 使用 GTID 时

我想在启用GTID的情况下为我的Percona服务器创建一个副本,但是当我显示从属状态时出现此错误:Last_IO_Error:Gotfatalerror1236frommasterwhenreadingdatafrombinarylog:'TheslaveisconnectingusingCHANGEMASTERTOMASTER_AUTO_POSITION=1,butthemasterhaspurgedbinarylogscontainingGTIDsthattheslaverequires.'通常,我会停止我的从站,重置它,重置主站(在从站上),并从主站获取新的GTID_PURGE

mysql - 从库上的行锁定是否也适用于主库?

例如在交易中,STARTTRANSACTION;SELECTcount(*)ascountFROM`order`WHEREuser_id=25286LOCKINSHAREMODE;INSERTINTO`order`(`id`,`user_id`,`product_id`)VALUES(NULL,'25286','36296');我们执行SELECTLOCKINSHAREMODE;SELECT查询将在从数据库上执行并锁定一行。SELECTLOCKINSHAREMODE是否也在master数据库上创建行锁定,以便INSERT查询不会在master数据库上运行?

MySQL 复制(3 个主站,1 个从站)

我目前正在设置mySQL复制。我需要从三个地方获取数据。例如我有需要这些数据服务器1-数据库1服务器2-数据库2服务器3-数据库3在此处存储数据服务器4-数据库4我需要这个用于报告目的。我读过你不能连接到一个以上的主人。因此,话虽如此,我将尝试使用“主链”拓扑,因为我想我明白这个拓扑是怎么回事了所以数据流会是这样的服务器1->服务器2->服务器3->服务器4server2和server3将有用于复制数据库的黑洞存储引擎,因此我们实际上不会将信息存储在这些服务器上,但信息仍会记录到二进制文件中-log这样所有的语句都会滴落下来以保持server4是最新的。我理解正确吗?

mysql - 如何排除某些表被记录在 mysql 中?

我需要将一些文件从二进制日志中排除,以避免在复制缓存表时浪费我的网络带宽和时间。我知道有[mysqld]binlog-ignore-db=DB_TO_BE_SKIPPED我怎样才能对特定表(缓存表)这样做?有没有类似的东西binlog-ignore-table=tbl_boost_cache**编辑**我正在使用drupal,并且drupal中的提升缓存存在功能缺陷。二进制日志文件呈指数增长。(有时大约100MB/分钟!!)唯一避免这种情况的方法是停止记录这些表谢谢!! 最佳答案 mysql有参数:replicate-ignore-

mysql - 复制不安全的函数

我的一位同事说mysql中的Length()函数不是复制安全的。该函数用于更新语句。这是真的?在编写查询和考虑复制时我们还应该考虑什么 最佳答案 因为您正在复制的表也可能具有不同的字符集。不要求master和slave之间的表完全一样,有相同的索引等。mysql>createtablereplic(field1varchar(20)charactersetlatin1,field2varchar(20)charactersetutf16,field3varchar(20)charactersetutf32);QueryOK,0row