利用多数据库校检工具分析优化Mysql索引
2018-04-16
后端
########Maatkit工具多数据库校检工具###########################################################################################
安装Maatkit工具软件需要插件
yum install perl-DBI
yum install perl-DBD-MySQL
Maatkit工具的安装:
wget http://maatkit.googlecode.com/files/maatkit-7540.tar.gz
tar zxvf maatkit-7540.tar.gz
cd maatkit-7540
perl Makefile.PL
make install
常用功能命令
#01、mk-table-checksum检查主从表是否一致及有效的工具
#02、mk-table-sync使表一致的工具,不必重载从表而能够保证一致
#03、mk-visual-explainexlpain解释工具
#04、mk-heartbeat主从同步的监视工具,能够给出从落后于主多少
#05、mk-parallel-dump多线程的mysqldump工具
#06、mk-parallel-restore多线程的表修复工具
#07、mk-query-profiler查询检测分析工具
#08、mk-deadlock-logger死锁的记录工具
#09、mk-duplicate-key-checkerkey侦测工具
#10、mk-show-grants权限管理显示工具
#11、mk-slave-restart slave的检测和重启工具
#12、mk-slave-delay slave delay replication 的工具
mk-duplicate-key-checker命令检查MYSQL重复索引,并给出删除语句:
/usr/local/bin/mk-duplicate-key-checker --databases=数据库 --user=用户名 --password=密码
/usr/local/bin/mk-duplicate-key-checker --databases=127.0.0.1 --user=root --password=123456
实例:
[root@wxzj maatkit-7540]# /usr/local/bin/mk-duplicate-key-checker --databases=dahuzhi --user=dahuzhi --password=
# ########################################################################
# dahuzhi.tp_admin
# ########################################################################
# tp_admin_admin_name is a duplicate of tp_admin_addtime
# Key definitions:
# KEY `tp_admin_admin_name` (`admin_name`) USING BTREE,
# KEY `tp_admin_addtime` (`admin_name`) USING BTREE,
# Column types:
# `admin_name` varchar(32) not null comment '?????'
# 下面就是给出需要删除的重复索引:
# To remove this duplicate index, execute:
ALTER TABLE `dahuzhi`.`tp_admin` DROP INDEX `tp_admin_admin_name`;
# ########################################################################
# Summary of indexes
# ########################################################################
# Size Duplicate Indexes 0
# Total Duplicate Indexes 1
# Total Indexes 76