表记录清理注意事项

常规表清理见 pt-archiver 工具: [pt-archiver]/top-10-percona-toolkit-tools-%E4%B8%80/) 1 如果表更新频繁, 不要直接使用delete ... where id <= ? and update_time < ? 这类范围或结果集过大的SQL, 避免delete操作时间过长吃满thread资源影响服务; 2 如果满足条件的记录很多, delete 操作会是耗时操作,同样会引起1中的问题, 应用或脚本应该找出结果集范围对应的主键或唯一键信息, 通过分组方式一组一组的删除相应的id列表; 3...

SQL::Audit审核MySQL query说明

SQL 审核说明 1.概述 SQL::Audit模块审核是以MySQL audit插件为基础, 通过分析SQL记录的来源(audit.log或socket)和使用情况(存储引擎, 索引使用,字符集等)以期避免开发对生产环境主机的影响。 审核部分主要包括:操作日志记录、 统计分析、 SQL改写、 SQL索引分析、 SQL安全、 邮件发送。 见: https://github.com/mcafee/mysql-audit https://github.com/arstercz/cz-sql-audit 2.审核流程 sql_audit脚本读取audit插件的日志信息, 通过SQL::Audit完成检查和分析, 异常的信息通过邮件发送到开发组. 同类的sql在Memcached中缓存一天时间, 避免重复分析. +--------------------+ |MySQL (audit...

MySQL-audit审计插件

MySQL SQL审计插件 https://github.com/mcafee/mysql-audit https://bintray.com/mcafee/mysql-audit-plugin/release 安装: https://github.com/mcafee/mysql-audit/wiki/Installation 需要计算出mysqld版本偏移值: https://github.com/mcafee/mysql-audit/wiki/Troubleshooting my.cnf配置增加audit选项: 注: audit_offsets由offset-extract.sh脚本生成,依赖gdb; audit_whitelist_users增加用户白名单, 以防止程序审核sql的时候重复记录而造成无限循环; # audit plugin plugin-load=AUDIT=libaudit_plugin.so audit_offsets=6456, 6504, 4064, 4504, 104, 2584, 8, 0,...

top 10 percona toolkit tools(五)

9. pt-table-checksum pt-table-checksum.html 工具用来对主从表数据进行一致校验: 该工具通过分组(chunk)方式以hash, md5, cac32或自定义函数生成每个分组数据的检验串, 分别在master和slave端执行, 如果每个分组的校验串一致, 则认为该分组的数据在master和slave一致。详见: mysql 主从一致性校验, 这种方式可以相对有效的找出主从中哪个chunk组的数据不一致, 进而再继续细分chunk, 找出具体的行。 不过分组校验不一定能够严格校验主从的不一致, 这依赖校验函数的冲突率有多大, 默认的crc32函数的冲突率还是偏大的, 如果恰好有几个字符串算出的结果一样, 则该工具出现漏报的可能性, 误报的可能性不能完全杜绝。 该工具由以下限制: (1) 校验数据是假设主从的schema和table结构在master和slave上一致. (2)...

top 10 percona toolkit tools (四)

7. pt-query-digest pt-query-digest 用来分析query 语句: 该工具可用于统计分析 slow log, processlist, binary log 和 tcpdump 相关的sql 语句信息, 生成详细的报表供管理员查看或排错。我们最长用的可能是分析 slow log 和 tcpdump 文件, 基于以下几种场景: (1) 想详细了解过去一段时间慢查询的整体状况,比如哪类的 sql,...

MySQL 升级说明

MySQL 升级说明 1.为什么升级 在没有充分测试前, 升级MySQL,尤其是主版本升级会存在很大的风险, 可能系统表或存储引擎组织方式做了更新, 也可能是参数或默认值信息做了改动, 这些都可能引起应用的中断甚至Server端的崩溃; 不过升级的好处也是很大的,比如想使用新版的功能特性,更好的性能,对固态盘的支持或者已经修复的bug等; 当然一般来说bug和性能问题会促使我们做一些小版本或大版本的升级, 在没有遇到这两个问题之前, 个人不建议对正在稳定使用的MySQL进行升级, 即便新版有更好的功能或性能。 2.升级的方式 我们通俗的将版本升级分为主版本升级(大版本升级)和次版本升级(小版本升级): MySQL 5.1 升级到 MySQL 5.5 称为主版本升级; MySQL 5.5.23 升级到 MySQL...

master硬盘空间不足可能引起的问题

MySQL master硬盘满用引起更新语句阻塞, 表现为select正常, insert, update不能执行却占用线程资源,log出现Too many connections提示, 同时提示Error信息: mysqld: Disk is full writing './mysql-bin.000295' (Errcode: 28). Waiting for someone to free space... (Expect up to...

top 10 percona toolkit tools (三)

5. pt-summary http://www.percona.com/doc/percona-toolkit/2.2/pt-summary.html 搜集系统信息: 非常详细的列出系统相关的信息, 包括硬件信息, CPU, Memory, 分区, 当前运行的进程, 网络连接, 网卡等信息。对于不经常做更新的系统而言, 该工具可以很好的当做系统运行镜像来使用。该工具和pt-mysql-summary类似, 但更侧重于系统信息的搜集。同样以bash shell编写。 输出信息如下: # pt-summary # Percona Toolkit System Summary Report ######################...

top 10 percona toolkit tools (二)

3. pt-show-grants pt-show-grants 导出权限表信息:以sql语句的形式列出mysql.user表的权限信息,方便管理员进行批量修改, 该功能在迁移数据库, 尤其是不同网段的情况下非常有用; 如下为导出的权限信息: # pt-show-grants -S /data/mysql/3306.sock --password=xxxxxxxx -- Grants for 'root'@'10.0.0.%' GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.0.0.%' IDENTIFIED BY...

top 10 percona toolkit tools (一)

Manual page: http://www.percona.com/doc/percona-toolkit/2.2/ 介绍 percona toolkit是针对MySQL, Percona Server和MariaDB的一套命令工具集, 包括搜集统计信息, 在线更改表结构, 归档数据等等方面; 其是由Percona( http://www.percona.com/ )公司维护和开发,且对外开源(perl|shell)。对于DBA来讲, 熟悉这些工具可以极大方便的处理DB相关的工作和任务。 toolkit中的命令集合随版本的更新而出现少许变化, 本文以笔者的percona-toolkit-2.1.5-1版本说明, 目前该版本共计36个工具, 本文介绍最常用的10个命令,包括: 1. pt-archiver 2. pt-duplicate-key-checkers 3. pt-show-grants...