当前高并发复制环境 master机器---slave机器mysql linux之前库不大,数据量不太大.但过几年后,表达400张,数据量巨大.
以前master机器的my.cnf
log-bin = /var/log/mysql/bin.log
binlog-do-db=adb
发现他的增量日志实在过大.因为从机器已经修改为表级别的从机器复制.
现在思考我能否在master机器的my.cnf的那2行配置下面加上
replicate-ignore-table= 其他300多张表. 这样主机器的增量
日志会减少些 .不至于每天20多g. (请注意是 在 复制的主机器上忽略其他不需要增量日志的表
)
以前master机器的my.cnf
log-bin = /var/log/mysql/bin.log
binlog-do-db=adb
发现他的增量日志实在过大.因为从机器已经修改为表级别的从机器复制.
现在思考我能否在master机器的my.cnf的那2行配置下面加上
replicate-ignore-table= 其他300多张表. 这样主机器的增量
日志会减少些 .不至于每天20多g. (请注意是 在 复制的主机器上忽略其他不需要增量日志的表
)
解决方案 »
- mysql中,这样的语句怎么写? 即如果某表中没有字段ID(主键)的值为10的记录,则插入一条ID值为10的记录,否则什么都不做? 怎么写语句?
- 恢复压缩GZ的备份
- 求一条sql文
- MySQL中log日志数据库表应该是INNODB还是MYISAM合适?
- Mysql insert,update等有中文时出错
- mysql查询6 个月前的时间问题..
- mysql -e命令
- 安装phphome的问题!
- 我敲mysql确显示"Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'(2)";刚才那个没分了,用这个,SORRY
- 为什么在mysql中select不能给字段重新命名??
- 请大虾帮忙解决where查询语句的一个sql
- 匹配问题
他只支持:
binlog-do-db
binlog-ignore-db
这2个选项;
mysql只支持库级别的忽略。
我在从机器配置部分下面
replicate-do-table=adb.TournamentsRiskLevel---------------有时候好 有时候不好
replicate-do-table=adb.TournamentRiskLevelDefine 正常的这个问题是否是 复制从机器对 表名有选择性. (TournamentsRiskLevel昨天测试时数据是正常的
但这个表总是有时候 是数据正常的,有时候没有得到数据的)show slave status
yes
yes --------------从复制是没有错误的 初步怀疑是 表名的问题?? (从机器其他复制表 发现数据 跟主机器都是实时同步的拉)
CREATE TABLE `TournamentsRiskLevel` (
`id` int NOT NULL auto_increment,
`Nameid` bigint default NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`Nameid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;从机器slave status 是健康的
为什么其他34张表述据都能及时更新, 但就是TournamentsRiskLevel总是有时候好 有时候数据不能及时更新的
log-bin-index = /var/log/mysqld/log-bin.index
log-error = /var/log/mysqld/error.log----------------检查没有发现有异常的relay-log = /var/log/mysqld/relay.log
relay-log-info-file = /var/log/mysqld/relay-log.info
relay-log-index = /var/log/mysqld/relay-log.index如果复制不通,是好找错误的
现在数据质量问题. 如何定位问题
可以的话
把这4条数据手动插入slave的表中;看看有没有记录;
要是有的话表示数据质量没问题了;
skip-slave-start
slave-skip-errors=1062配置了多年了. (不知道原因拉 如何从上面的查到数据的原因 )
不要slave-skip-errors了?
修改为如下slave-skip-errors=all
要是对他们的一致性要求高的话 就注释点这句
现在我在从机器上 slave stop .change , start 看能否解决这个问题
现在好麻烦. 这个表到底设什么原因引起的 ,现在怀疑是人为因素的
a-- b --(这个表所在机) c
master slave-master slave现在发现在b 这个表 发生的问题. (昨天相同的配置没有发现这个问题的
今天只不过在b 加个a 的复制表 , 并把过期的bin.log删除就引发这个问题 .
)
是否在b 机器上一定要reset slave 下? 加了复制表 ???
那个表在这里问题 这个机器有5张表复制于b 机器
已经 用测试2台机器搭建相同环境,但是测试机器 没有发现这个现象
你要生成这个错误,再看看有没有成功,要是没有这个错误的话,肯定是没问题的,这个错误产生,主从数据会不一样