收集各种系统信息及统计数据
操作系统、CPU、内核版本、编译器、内存、硬盘分区/挂载、网卡
运行时间、负载
pt-mysql-summary
查询mysql各种状态信息
pt-mysql-summary --host=localhost --user=root --password=XX --socket=/home/bbq/mysql/mysql-3307/data/mysql-3307.sock --defaults-file=/home/bbq/mysql/mysql-3307/cnf/my.cnf --databases=all-databases --save-samples=/home/bbq/mysql/summary/20131011 > /home/bbq/mysql/summary/summary_20131011.info
summary_20131011.info
重点内容:BP当前状态(使用比例,脏页比例,IO)、IP连接统计、sql状态统计
Noteworthy Variables
/home/bbq/mysql/summary/20131011路径下包含的文件
mysql-config-file mysql的配置文件内容
mysqld-executables ?? 正在运行的mysql实例
mysqldump ?? 正在执行的mysqldump
mysql-master-status show master status信息
mysql-processlist 当前的processlist列表
mysql-variables SHOW VARIABLES
mysql-status SHOW STATUS
mysql-status-defer SHOW STATUS在interval后的变化值
mysql-users mysql已有用户
innodb-status SHOW ENGINE INNODB STATUS信息
mysql-databases show databases
mysqld-instances ps -f -gmysql 查看mysql用户组启动的mysql实例
mysql-master-logs SHOW MASTER LOGS 信息
mysql-plugins 支持的插件
mysql-slave show slave status信息
pt-table-checksum
检查主从复制一致性
1)在Master上创建用于检验的MySQL用户
GRANT SELECT, PROCESS, SUPER, REPLICATION SLAVE ON *.* TO 'checksums'@'%' IDENTIFIED BY 'checksums';
FLUSH PRIVILEGES;
2)参数说明:
pt-table-checksum -hxxx -uxx -pxx --nocheck-replication-filters --no-check-binlog-format -dxx --replicate=xxx.checksumss
-h或--host 连接主库host
-u或--user 连接主库user
-p或--password 连接主库密码
-P或--port 连接主库端口
-S或--socket 连接主库socket文件
-F或--defauls-file 主库的配置文件。
-u,-p,-P,-s都可以在[client设置]
-d或--databases 指定校验的库,多个用逗号分隔
--ignore-databases 指定忽略检查的库,多个用逗号分隔,优先级高
-t或--tables 指定检查的表,多个用逗号分隔
--ignore-tables 指定忽略检查的表,多个用逗号分隔,优先级高
--nocheck-replication-filters 忽略replicate过滤规则。 推荐
--replicate=pt.pt_checksum 指定保存checksums信息(并不是结果)的表
保存在pt库的pt_checksum表
--explain 显示checksum运行的sql
--recurse 多级复制的检查深度
--recursion-method 指定复制检查的方式,默认为processlist
非3306端口的时候推荐手动指定dsn.
# 手动指定dsn。保存dsn信息表
CREATE TABLE `dsns` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`parent_id` int(11) COMMENT '仅查看,没有实际作用',
`dsn` varchar(255) NOT NULL COMMENT 'h=host,u=user,p=pwd,P=port',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
例如主库(3307)有两个从库(3308,3309),server_id=端口号
,用户名密码=checksums。 则插入sql为
INSERT INTO `dsns`(`parent_id`,`dsn`) VALUES (3307,'h=127.0.0.1,u=checksums,p=checksums,P=3308') ,(3307,'h=127.0.0.1,u=checksums,p=checksums,P=3309');
pt-table-sync
从主库同步指定的表到从库
先打印sql
pt-table-sync --sync-to-master --replicate=bak_gq.checksumss h=从库IP,u=用户名,p=密码,P=端口 --print
确认没问题,再执行
pt-table-sync --sync-to-master --replicate=bak_gq.checksumss h=从库IP,u=用户名,p=密码,P=端口 --execute
pt-heartbeat
检查同步延迟
pt-slave-delay
使得从库保持比主库延迟N秒更新
pt-show-grants
查看所有权限信息