相关疑难解决方法(0)

MySQL 主二进制日志损坏

我们最近对我们的基础设施进行了一些更改,现在我无法保持 MySQL 复制运行。奴隶抱怨二进制日志损坏,重置它无济于事。我一直在我的主日志中看到这样的条目:

二进制日志'
WFxKTRNJAAAAPwAAAKY/YwAAABsAAAAAAAEACHdlYmVkaTMwAA1QYXJ0bmVyQ29uZmlnAAQICA8P
BC0AYwAA
WFxKTRhJAAAAXAAAAAAJAYwAAABsAAAAAAAEABP//8BoSAAAAAAAAAAggMAAAAAAAAJUEFDS0NPVU5U
Azc3MfAaEgAAAAAAAIIDAAAAAAAACVBBQ0tDT1VOVAM3NzI=
'/*!*/;

在从属日志中,这只是作为“未知事件”出现,并且复制在该位置失败。

这是我给主人的 my.cnf:

[mysqld]
datadir=/data/mysql-data
套接字=/tmp/mysql.sock
用户=mysql
日志错误=/var/log/mysqld.log

binlog-do-db = db1
binlog-do-db = db2
binlog-do-db = db3
binlog-do-db = db4
binlog_format = '混合'

log-bin = /data/mysql-binlogs/mysql-bin.log
服务器 ID=73
报告主机=thisserver.mydomain.com

线程缓存大小 = 30
key_buffer_size = 700M
myisam_sort_buffer_size = 300M
table_cache = 256
sort_buffer_size = 4M
read_buffer_size = 1M
innodb_data_home_dir = /data/mysql-data/
innodb_data_file_path = InnoDB:100M:autoextend
设置变量 = innodb_buffer_pool_size=500M
设置变量 = innodb_additional_mem_pool_size=10M
设置变量 = max_connections=500
innodb_log_group_home_dir = /data/mysql-data
设置变量 = innodb_log_file_size=20M
设置变量 = innodb_log_buffer_size=8M …

mysql replication

8
推荐指数
1
解决办法
3859
查看次数

执行完整备份时是否可以获得实时mysql数据库的精确位置

我有一个生产数据库,我通常每周运行一次完整备份。我为增量备份打开了 bin 日志。

生产服务器在西海岸,而营业时间在东海岸。

当我执行全备份时,我会查询主服务器的日志和位置。我将这些值放在我将数据库压缩到的 zip 文件名中。

我在使用 mysqlbinlog 从我知道备份已经结束的某个位置创建增量 sql 文件时遇到了困难。

运行Show Master Status然后运行mysqldump --flush-logs --single-transaction...就足以获得准确的信息以进行恢复。

我知道理想的设置是备份从属数据库,因为锁定不会损害生产环境,但目前我还没有进行切换。

因为我没有锁定所有表,所以我没有得到理想的结果吗?

提前致谢

编辑

在 RolandoMySQLDBA 的帮助下,我意识到我没有指向适当的 binlog 文件。我改为指向整个目录binlog/bin-log.[0-9]* > sql.txt。因此,仅使用该位置,我就可以击中比预期更早开始的日志。所以我更改了我的脚本以提取适当的 binlog 文件以及位置,这就像一个魅力。

谢谢

mysql mysqldump backup mysqlbinlog

5
推荐指数
1
解决办法
7690
查看次数

标签 统计

mysql ×2

backup ×1

mysqlbinlog ×1

mysqldump ×1

replication ×1