一 :Could not execute Delete_rows event on table yxjmanage.ums_user; Can’t find record in ‘ums_user’, Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event’s master log master-bin.000207, end_log_pos 97165262 主库删除的行,从库中不存在,或者已经手动删除
需要补充从库的数据后执行下列语句
mysql>stop slave;
mysql>set global sql_slave_skip_counter=1
注释:跳过执行错误事务,继续执行,不会使主从复制停止
mysql>start slave
当要跳过多条错误事务时
mysql>set global sql_slave_skip_counter='数字'是错误的用法
正确应该到配置文件下去加入配置文件在
[mysqld]
#
# * Basic Settings
#
slave-skip-errors =1062,1032等 #跳过指定error no类型的错误这里指的是错误类型1062
二:查看mysql的二进制binlog文件
首先查看在主库中查看binlog日志文件有哪些,mysql> show binary logs;
其次 退出mysql找到binlog文件所在地cd /var/log/mysql
语句如下:
mysqlbinlog -v --base64-output=DECODE-ROWS /var/log/mysql/master-bin.000387 | grep -A '20' 32823638
数据库缓冲池优化
show variables like "%_buffer%"; 查看:innodb_buffer_pool_size
设置时innodb_buffer_pool_size值要是innodb_buffer_pool_instances * innodb_buffer_pool_chunk_size的倍数才能设置成功!重点!!否则mysql会自动调整值的大小
set global innodb_buffer_pool_size = 2147483648; 系统内存的60%——80%最优?这个不是绝对的具体看下
当系统上线之后,我们可以通过 Innodb 存储引擎提供给我们的关于 Buffer Pool 的实时状态信息作 出进一步分析,来确定系统中 Innodb 的 Buffer Pool 使用情况是否正常高效:
> show status like 'Innodb_buffer_pool_%';
注意以下几个值Innodb Buffer Pool 的 Read (读)命中率
var percent = (Innodb_buffer_pool_read_requests - Innodb_buffer_pool_reads) /Innodb_buffer_pool_read_requests
percent越趋近于100%命中率越高,性能约好。
查看日否启用了日志
show variables like “general_log%”;
开启日志:
set global general_log = ‘ON’;
查看慢查询的日志是否开启及地址;
show variables LIKE “%slow%”
开启慢查询日志
set global slow_query_log=‘ON’;
查询设定时间超过1s就记录
set global long_query_time=1;