MySQL之innochecksum初探

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MySQL之innochecksum初探
innochecksum是⼀个⽤于校验innodb表空间⽂件完整性的⼯具,这是⼀个官⽅⾃带的⼯具,关于它的介绍,可以查看,下⽂主要是通过innodb_ruby来对innochecksum --page-type-dump的结果进⾏解读。

关于innodb_ruby的使⽤,请稍移⽟步,查看以前的拙⽂""
innnchecksum的使⽤限制:必须关闭mysqld进程,否则会在使⽤的时候提⽰“Unable to lock file”的错误。

个⼈认为innochecksum的使⽤⾮常受限,也只有在mysqld进程异常退出,或者服务器宕机的时候⽤于快速检查表空间⽂件的完整性。

⽽innodb_ruby的使⽤范围更⼴。

innnchecksum在MySQL5.7之后,可选项⽐MySQL5.6稍多。

特别说明:本⽂使⽤的是MySQL5.7的innochecksum。

⾸先,看看MySQL5.6的innochecksum的选项
[root@MySQL57M1 10:38:36 /root]# /usr/local/mysql56/bin/innochecksum --version
InnoDB offline file checksum utility.
/usr/local/mysql56/bin/innochecksum Ver 5.6.35, for linux-glibc2.5 (x86_64)
[root@MySQL57M1 10:38:42 /root]# /usr/local/mysql56/bin/innochecksum --help
InnoDB offline file checksum utility.
/usr/local/mysql56/bin/innochecksum Ver 5.6.35, for linux-glibc2.5 (x86_64)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
InnoDB offline file checksum utility.
Usage: /usr/local/mysql56/bin/innochecksum [-c] [-s <start page>] [-e <end page>] [-p <page>] [-v] [-d] <filename>
-?, --help Displays this help and exits.
-I, --info Synonym for --help.
-V, --version Displays version information and exits.
-v, --verbose Verbose (prints progress every 5 seconds).
-d, --debug Debug mode (prints checksums for each page, implies
verbose).
-c, --count Print the count of pages in the file.
-s, --start-page=# Start on this page number (0 based).
-e, --end-page=# End at this page number (0 based).
-p, --page=# Check only this page (0 based).
Variables (--variable-name=value)
and boolean options {FALSE|TRUE} Value (after reading options)
--------------------------------- ----------------------------------------
verbose FALSE
debug FALSE
count FALSE
start-page 0
end-page 0
page 0
再看看MySQL5.7的innochecksum的选项
[root@MySQL57M1 10:39:43 /root]# /usr/local/mysql/bin/innochecksum --help
/usr/local/mysql/bin/innochecksum Ver 5.7.17, for linux-glibc2.5 (x86_64)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
InnoDB offline file checksum utility.
Usage: /usr/local/mysql/bin/innochecksum [-c] [-s <start page>] [-e <end page>] [-p <page>] [-v] [-a <allow mismatches>] [-n] [-C <strict-check>] [-w <write>] [-S] [-D <page type dump>] [-l <log>] <filename or [-]> See /doc/refman/5.7/en/innochecksum.html for usage hints.
-?, --help Displays this help and exits.
-I, --info Synonym for --help.
-V, --version Displays version information and exits.
-v, --verbose Verbose (prints progress every 5 seconds).
-c, --count Print the count of pages in the file and exits.
-s, --start-page=# Start on this page number (0 based).
-e, --end-page=# End at this page number (0 based).
-p, --page=# Check only this page (0 based).
-C, --strict-check=name
Specify the strict checksum algorithm by the user.
-n, --no-check Ignore the checksum verification.
-a, --allow-mismatches=#
Maximum checksum mismatch allowed.
-w, --write=name Rewrite the checksum algorithm by the user.
-S, --page-type-summary
Display a count of each page type in a tablespace.
-D, --page-type-dump=name
Dump the page type info for each page in a tablespace.
-l, --log=name log output.
Variables (--variable-name=value)
and boolean options {FALSE|TRUE} Value (after reading options)
--------------------------------- ----------------------------------------
verbose FALSE
count FALSE
start-page 0
end-page 0
page 0
strict-check crc32
no-check FALSE
allow-mismatches 0
write crc32
page-type-summary FALSE
page-type-dump (No default value)
log (No default value)
下⾯通过与innodb_ruby的⽐较来解读⼀下输出结果
步骤⼀、通过sysbench来插⼊1000条记录
# 创建数据库
root@localhost:mysql3306.sock [(none)]>show create database sbtest ;
+----------+-----------------------------------------------------------------+
| Database | Create Database |
+----------+-----------------------------------------------------------------+
| sbtest | CREATE DATABASE `sbtest` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+-----------------------------------------------------------------+
1 row in set (0.0
2 sec)
root@localhost:mysql3306.sock [sbtest]>show create table sbtest1 ;
+---------+-----------------------------------------------------------------------------------+
| Table | Create Table |
+---------+-----------------------------------------------------------------------------------+
| sbtest1 | CREATE TABLE `sbtest1` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`k` int(10) unsigned NOT NULL DEFAULT '0',
`c` char(120) NOT NULL DEFAULT '',
`pad` char(60) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
KEY `k_1` (`k`)
) ENGINE=InnoDB AUTO_INCREMENT=1001 DEFAULT CHARSET=utf8 MAX_ROWS=1000000 |
+---------+-----------------------------------------------------------------------------------+
1 row in set (0.00 sec)
# 使⽤sysbench插⼊数据
[root@MySQL57M1 10:52:23 /opt/software/sysbench-0.4.12-1.1/sysbench]# sysbench --test=/opt/software/sysbench-0.4.12-1.1/sysbench/tests/db/oltp.lua --oltp-table-size=1000 --oltp-read-only=off --initg=on --numads=8 --max-requests= sysbench 0.5: multi-threaded system evaluation benchmark
# 检查插⼊记录
[root@MySQL57M1 15:56:18 /opt/software/sysbench-0.4.12-1.1/sysbench]# mysql -S /tmp/mysql3306.sock
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.7.17-log MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h'for help. Type '\c' to clear the current input statement.
root@localhost:mysql3306.sock [(none)]>use sbtest ;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
root@localhost:mysql3306.sock [sbtest]>select count(1) from sbtest1 ;
+----------+
| count(1) |
+----------+
| 1000 |
+----------+
1 row in set (0.00 sec)
步骤⼆、关闭mysqld进程
[root@MySQL57M1 10:52:23 /root]# /usr/local/mysql/bin/mysqladmin -S /tmp/mysql3306.sock shutdown
步骤三、输出innochecksum的结果
选项⼀、--count,此选项表明⽂件中共有多少个page
[root@MySQL57M1 16:06:55 /data/mysql/mysql3306/data/sbtest]# /usr/local/mysql/bin/innochecksum --count sbtest1.ibd
Number of pages:21 # 此项在innodb_ruby的space-page-type-regions中进⾏解读,也可以从innochecksum --page-type-dump中得到印证,使⽤的page是0~20,共21个page
选项⼆、--page-type-sumary
[root@MySQL57M1 16:02:09 /data/mysql/mysql3306/data/sbtest]# /usr/local/mysql/bin/innochecksum --page-type-summary sbtest1.ibd
File::sbtest1.ibd
================PAGE TYPE SUMMARY==============
#PAGE_COUNT PAGE_TYPE
===============================================
17 Index page # 此项在innodb_ruby的space-indexes中解释
0 Undo log page
1 Inode page
0 Insert buffer free list page
1 Freshly allocated page
1 Insert buffer bitmap
0 System page
0 Transaction system page
1 File Space Header
0 Extent descriptor page
0 BLOB page
0 Compressed BLOB page
0 Other type of page
===============================================
Additional information:
Undo page type: 0 insert, 0 update, 0 other
Undo page state: 0 active, 0 cached, 0 to_free, 0 to_purge, 0 prepared, 0 other
选项三、--page-type-dump
[root@MySQL57M1 16:05:42 /data/mysql/mysql3306/data/sbtest]# /usr/local/mysql/bin/innochecksum --page-type-dump=/tmp/sbtest_dump.log sbtest1.ibd
[root@MySQL57M1 16:06:46 /data/mysql/mysql3306/data/sbtest]# more /tmp/sbtest_dump.log
Filename::sbtest1.ibd
==============================================================================
PAGE_NO | PAGE_TYPE | EXTRA INFO
==============================================================================
#:: 0 | File Space Header | -
#:: 1 | Insert Buffer Bitmap | -
#:: 2 | Inode page | -
#:: 3 | Index page | index id=45, page level=1, No. of records=15, garbage=0, - # index id 和 page level在innodb_ruby的space-indexes中解读,No. of records 在innodb_ruby的page records中解读,garbag #:: 4 | Index page | index id=46, page level=0, No. of records=1000, garbage=0, -
#:: 5 | Index page | index id=45, page level=0, No. of records=36, garbage=7696, -
#:: 6 | Index page | index id=45, page level=0, No. of records=73, garbage=0, -
#:: 7 | Index page | index id=45, page level=0, No. of records=73, garbage=0, -
#:: 8 | Index page | index id=45, page level=0, No. of records=73, garbage=0, -
#:: 9 | Index page | index id=45, page level=0, No. of records=73, garbage=0, -
#:: 10 | Index page | index id=45, page level=0, No. of records=73, garbage=0, -
#:: 11 | Index page | index id=45, page level=0, No. of records=73, garbage=0, -
#:: 12 | Index page | index id=45, page level=0, No. of records=73, garbage=0, -
#:: 13 | Index page | index id=45, page level=0, No. of records=73, garbage=0, -
#:: 14 | Index page | index id=45, page level=0, No. of records=73, garbage=0, -
#:: 15 | Index page | index id=45, page level=0, No. of records=73, garbage=0, -
#:: 16 | Index page | index id=45, page level=0, No. of records=73, garbage=0, -
#:: 17 | Index page | index id=45, page level=0, No. of records=73, garbage=0, -
#:: 18 | Index page | index id=45, page level=0, No. of records=73, garbage=0, -
#:: 19 | Index page | index id=45, page level=0, No. of records=15, garbage=0, -
#:: 20 | Freshly allocated page | -
[root@MySQL57M1 16:06:55 /data/mysql/mysql3306/data/sbtest]#
注:这⾥的index page都是按照page num的顺序从⼩到⼤排列的(⾄少我的实验结果是这样的,实际情况不知道。

使⽤innodb_space -s ibdata1 -T sbtest/sbtest1 -p 5
page-records得到的是36条记录,innodb_space -s ibdata1 -T sbtest/sbtest1 -p 19 page-records得到的是15条记录)
步骤四、使⽤innodb_ruby进⾏解读
选项⼀、space-indexes
[root@MySQL57M1 16:37:06 /data/mysql/mysql3306/data]# innodb_space -s ibdata1 -T sbtest/sbtest1 space-indexes
id name root fseg used allocated fill_factor
45 PRIMARY 3 internal 11100.00%
45 PRIMARY 3 leaf 1515100.00%
46 k_1 4 internal 11100.00%
46 k_1 4 leaf 000.00%
此项可以解释innochecksum --page-type-checksum中为什么得到了17个index pages,因为表sbtest1对应着2个索引,⼀个是主键索引,另外⼀个是⼆级索引。


中主键索引‘PRIMARY’共分配了16个page(1个⾮叶⼦节点,15个叶⼦节点,因为sbtest1是聚集索引组织表,索引叶⼦节点中也包含了真实的数据),⼆级索引‘k_1’分配了⼀个
page,所以共占⽤了1+15+1=17个page。

从上⾯的结果还可以看出主键索引(‘Primary’)的索引ID是45,根结点是page 3,⽽且叶⼦节点与根节点并不是同⼀个节点,所以根节点的page level为1;⼆级索
引(‘k_1’)的索引ID是46,根节点是page 4,⽽且此根节点也是叶⼦节点,所以索引ID46在innochecksum --page-type-dump中的结果只有page level = 0【叶⼦节点的page
level是0,越是往上level值就越⼤】,并不包含page level = 1 的记录。

选项⼆、space-page-type-regions
[root@MySQL57M1 16:37:18 /data/mysql/mysql3306/data]# innodb_space -s ibdata1 -T sbtest/sbtest1 space-page-type-regions
start end count type
001 FSP_HDR
111 IBUF_BITMAP
221 INODE
31917 INDEX
20201 FREE (ALLOCATED)
这⾥⽤于印证innochecksum中--count选项,sbtest1表空间⽂件共使⽤了21个page,start表⽰从第x个page开始,end表⽰到第x个page结束,count表⽰何种page
类型使⽤了多少个page,type表⽰page类型。

共使⽤了1+1+1+17+1 = 21。

选项三、-p pagenum page-records
[root@MySQL57M1 16:38:05 /data/mysql/mysql3306/data]# innodb_space -s ibdata1 -T sbtest/sbtest1 -p 3 page-records
Record 125: (id=1) → #5
Record 138: (id=37) → #6
Record 151: (id=110) → #7
Record 164: (id=183) → #8
Record 177: (id=256) → #9
Record 190: (id=329) → #10
Record 203: (id=402) → #11
Record 216: (id=475) → #12
Record 229: (id=548) → #13
Record 242: (id=621) → #14
Record 255: (id=694) → #15
Record 268: (id=767) → #16
Record 281: (id=840) → #17
Record 294: (id=913) → #18
Record 307: (id=986) → #19
这⾥的15条记录对应这个15个叶⼦节点的page num(5~19),也对应着innochecksum中的No. of records,所以No. of records代表的就是page中包含的记录数。

补充:添加对page 5和page 19的innodb_space page records解析
[root@MySQL57M1 16:42:56 /data/mysql/mysql3306/data]# innodb_space -s ibdata1 -T sbtest/sbtest1 -p 5 page-records
Record 127: (id=1) → (k=500, c="0856*******-88624912351-166********-46648573979-64646226163-77505759394-75470094713-41097360717-151********-50535565977", pad="63188288836-92351140030-06390587585-66802097351-4928296 Record 335: (id=2) → (k=503, c="95969429576-20587925969-20202408199-67602281819-182********-38184587501-73192830026-41693404212-56705243222-89212376805", pad="0951*******-77936258834-40901700703-135********-1520543 Record 543: (id=3) → (k=329, c="26283585383-48610978532-72166636310-67148386979-89643583984-06169170732-23477134062-177********-73465768032-24619558652", pad="21979564480-87492594656-60524686334-78820761788-5768496 Record 751: (id=4) → (k=504, c="57481185690-89398636500-16888148413-67987678267-156********-94210794401-181********-91338377776-83386272438-09451188763", pad="35227182905-152********-59793845249-15413569710-2374955 Record 959: (id=5) → (k=496, c="29279855805-99348203463-85191104223-39587263726-81794340135-73817557808-54578801760-64404111877-55434439976-37212880746", pad="59222897263-22759023974-22020489960-93434521232-7798115 Record 1167: (id=6) → (k=500, c="24267764271-42431022577-79399828403-34660685942-156********-01775912296-178********-24498656403-67162539148-21266176221", pad="26472102213-44313108032-85929810653-63595461233-997546 Record 1375: (id=7) → (k=325, c="75769514803-27086227718-38612213700-37972984756-05033716175-01596446901-14887935702-82254196675-91092890141-99940009825", pad="01920094826-30050572228-27293124892-55703762324-881117 Record 1583: (id=8) → (k=499, c="82571936845-31830426410-85662298479-28456275464-64339136268-26186841165-94168712814-56389105006-66969794071-60071049942", pad="131********-69561545685-52868757241-04245213425-692802 Record 1791: (id=9) → (k=496, c="94556997174-32108982644-63004661483-42547508604-40987100663-82959520169-01960773852-23325192900-64841585484-09299809863", pad="38130396901-31554193919-79854584773-97713622125-480901 Record 1999: (id=10) → (k=500, c="92229281843-40509455748-54180693333-69666735372-33631067191-52840688810-46742388152-62036963372-40370446940-14952664058", pad="29251291459-26439838509-024********-87093993879-41189 Record 2207: (id=11) → (k=500, c="55539894961-94630227272-87892715306-11757554233-65025656366-180********-59035923136-82077391351-71299309808-41806629806", pad="95243893840-44524415901-82294436187-08420012728-74234 Record 2415: (id=12) → (k=503, c="85745887749-43926612815-52671599838-72615670779-39539880737-32384431916-14624123858-0374*******-92421088881-139********", pad="95695252907-40835773194-59752082278-75477923775-11498 Record 2623: (id=13) → (k=477, c="56316294888-57679890769-58383613277-57458454910-66366822420-44427204096-36206800006-57779232548-42467397897-95291088583", pad="88218646660-35398169196-80904295321-21916525974-80577 Record 2831: (id=14) → (k=501, c="49194164261-78718959601-76453436726-12328252331-82252358387-32591334883-94591313333-32194299027-56489480566-29273924881", pad="29180048350-56869357598-30507794298-39605791895-24572 Record 3039: (id=15) → (k=331, c="25087972499-30804716351-98946650357-16506466188-42176842560-16335148324-61364737966-77319603815-63697591309-04051890496", pad="43910273478-50996077734-27755511063-38289440715-15018 Record 3247: (id=16) → (k=497, c="43454717653-44558192345-39282807857-81817475020-59463951424-65087261835-25202204115-99284673840-03229487757-24342009464", pad="20451441330-30875371862-04498774055-95322094956-34874 Record 3455: (id=17) → (k=499, c="38155538057-45725545265-40889413187-19176032256-33350854183-64846306087-12561577300-76952889459-50179987140-19189659407", pad="47983967466-32916043660-26754951311-67648211152-77587 Record 3663: (id=18) → (k=502, c="23655981276-08645059528-30058537153-25321072018-87163062804-0888*******-58223216794-90063295219-14234702496-80694475355", pad="58046153567-81750139665-38039780155-0550*******-84599 Record 3871: (id=19) → (k=497, c="79942101578-07260787699-83643054812-74587100667-46426009339-58721772706-98945630642-82234846798-71888359042-26732947100", pad="92272567328-80415195747-71974765950-52428122735-62201 Record 4079: (id=20) → (k=496, c="88145905092-43361185087-51020319593-37179046642-84310697372-70862287819-48856968404-99184797065-93751342014-72177157904", pad="24134778965-24746119933-67168161568-50086411748-70562 Record 4287: (id=21) → (k=499, c="38424691506-0935*******-61202697271-63038046508-29888453798-92949141153-62688443035-08026750638-0825*******-61761342594", pad="79733906981-31521935604-58311962288-85453122462-71504 Record 4495: (id=22) → (k=505, c="14727371780-27787201378-78787463594-184********-21839479873-30447182067-93416020974-84136743014-58317107496-48981937169", pad="96709539373-81997780696-95347904390-38078115633-62447 Record 4703: (id=23) → (k=497, c="90230837177-91597521543-23236354134-79212233606-175********-75567480641-70481816939-85424101073-64577171634-48162481689", pad="27800249225-92962708583-56272782620-97779067645-23232 Record 4911: (id=24) → (k=457, c="96225808974-56822595984-95377074482-83456476383-25408814447-92968603608-77649769299-95136600978-30286715144-34964058160", pad="10255815850-80260680522-69787802778-01654410036-27346 Record 5119: (id=25) → (k=501, c="39480776623-00640080130-24904126938-78433406039-49288389176-22282678080-47593616764-27175866783-76471987280-19342048981", pad="06494949497-92944075663-00641001373-66339631879-79992 Record 5327: (id=26) → (k=497, c="98265218933-49011148684-87417682873-50240835334-63362800751-26404352055-84312047314-60245034763-37365752796-84881045043", pad="135********-79776314902-61013724602-32988712578-06240 Record 5535: (id=27) → (k=512, c="91079361241-0902*******-37391806898-07273736210-93629366034-98744355592-20414955521-01312444108-12076129320-46986911874", pad="69590894051-41889115293-04015358313-27891602619-86760 Record 5743: (id=28) → (k=500, c="80179432201-98548860753-91071657657-08431367331-52356826954-28157300365-86275596256-027********-96895628664-00768599865", pad="33389172619-93724844897-09488184787-91378022772-29059 Record 5951: (id=29) → (k=500, c="58209632634-43428453594-47456591135-47559683146-08619138313-32670203285-43565200994-0357*******-44183488778-44132897676", pad="94180732599-41019997528-32379837658-27859269245-31924 Record 6159: (id=30) → (k=498, c="85452655587-77830531569-94567785727-88551977409-59919100524-37150116535-186********-44703758355-80271278927-32342812113", pad="32564586600-33076490416-56481808104-36256881339-89021 Record 6367: (id=31) → (k=596, c="39326381516-63921696904-87491520820-37013348913-29492574405-00049940380-73338425185-156********-68194250937-43955352407", pad="21039155106-57470432053-20794119530-37429140194-04940
Record 6575: (id=32) → (k=504, c="0351*******-80898990798-181********-138********-87634298088-09696188722-57126942783-21229376041-55087409499-84868981582", pad="09234013725-21861902085-62986870504-46868808475-64122 Record 6783: (id=33) → (k=503, c="23266654172-78195672262-36264075637-94939288146-23645310951-37183821782-68857233719-03327841652-0916*******-20526019272", pad="72521203537-87305696795-36845341458-79422297727-89248 Record 6991: (id=34) → (k=504, c="38423913511-71623847994-68618244490-86589321139-77132624675-92398243198-54892244775-51156020613-11419752608-78874205780", pad="79447375504-29813460505-34699095586-42852971172-10094 Record 7199: (id=35) → (k=503, c="52101984189-39229076175-0431*******-64297530658-96446154615-153********-76614845754-87528921307-64652782110-03909494474", pad="30363008196-82587212701-32548750678-55550447232-82627 Record 7407: (id=36) → (k=498, c="60401506099-53488453875-83999629965-150********-48449782366-42360013702-73918593804-33127766677-37977797336-72110586674", pad="91361291187-39343181035-58706528978-28600137866-50235 [root@MySQL57M1 16:57:17 /data/mysql/mysql3306/data]#
[root@MySQL57M1 16:39:28 /data/mysql/mysql3306/data]# innodb_space -s ibdata1 -T sbtest/sbtest1 -p 19 page-records
Record 127: (id=986) → (k=497, c="87298914175-67019310774-55914766116-99828999777-99586454236-20112561950-04631324345-42297289244-53773772569-188********", pad="51641139864-0997*******-48470783437-67945081862-02437 Record 335: (id=987) → (k=502, c="92379144351-81987843986-60512646961-43351715220-89143263257-35157311208-00971788323-81113388070-51063502831-14585145751", pad="54562744428-58434610050-02640971647-28643258481-82786 Record 543: (id=988) → (k=504, c="79480787598-39254493988-69786031029-70870874504-39408353161-74914604044-71312408918-90080844569-76683765267-75045254744", pad="66798872943-27202526790-73601971494-14196086682-33205 Record 751: (id=989) → (k=505, c="76613703975-82648385342-65551565318-48073944213-71095746644-21533359862-024********-12827037545-150********-99958538641", pad="38546404030-64482612227-79761253030-12629548985-71060 Record 959: (id=990) → (k=364, c="27517650862-96268857874-14433848856-73786054388-95781750782-177********-15483646344-81063380673-29949561587-62048756586", pad="86418789389-75080583550-28788891732-0857*******-95852 Record 1167: (id=991) → (k=502, c="134********-63729372612-00275706338-88486676039-41096881141-28185759547-80480437474-69347981661-92232870081-39724037280", pad="54660772003-50838112072-93582421460-90434524209-6351 Record 1375: (id=992) → (k=500, c="79620784849-00009549599-62394242058-63066433982-71035091537-35754137965-86009757471-55756806049-53705417378-55041368810", pad="63548119286-47199979705-42988872119-130********-0613 Record 1583: (id=993) → (k=498, c="33283211264-24104569482-49264463192-09788701315-23954673461-86748673406-98818577066-14240275554-97803650262-31630156143", pad="80210283445-133********-64221956430-39947049243-7455 Record 1791: (id=994) → (k=499, c="83529629079-37942549488-11187709798-93240515639-48172628293-01762263287-90076192966-92341984336-56589272804-75716525178", pad="14134715187-27217033507-96959210163-63526812993-2926 Record 1999: (id=995) → (k=498, c="28769317254-04610620937-33197663850-06518823866-27538021436-58760267595-46800223318-09591165747-49998359495-80438066644", pad="28997889228-51766953098-77939220474-53869366939-6512 Record 2207: (id=996) → (k=501, c="32972167321-21678283565-66466390078-58658971709-41234554112-81164217010-173********-42053792679-91787935893-73897637591", pad="84962785394-67975877825-54938010963-97372544497-1065 Record 2415: (id=997) → (k=476, c="95487528837-46850865997-40704725014-54408638016-53826361046-89364038833-04046942105-180********-87589460289-21223164339", pad="41335103059-85552460472-48481785622-06965909863-3662 Record 2623: (id=998) → (k=662, c="44144448828-38741837876-41443995192-83251064406-55334438827-77662225731-0853*******-97753926873-81832829034-78595369790", pad="40656376548-159********-89673385654-08014037818-1293 Record 2831: (id=999) → (k=471, c="28092799576-44007252568-97298475370-17983935646-96883601559-37032302110-134********-80633123787-54692039428-43594456579", pad="36157782684-31531034792-80519610585-46470205763-0060 Record 3039: (id=1000) → (k=504, c="41661884355-0435*******-74148055858-87015057769-70320273831-12909644636-94738459377-75660797476-90352294801-17449377020", pad="26633455577-63943069160-88331246770-21566796168-023
最后,对于innochecksum --page-type-dump中的garbages是代表什么意思,依然⽆从着⼿,为什么只有主键索引的最⼩page num的garbages才是⾮0,其他的都是0?
以上,如有错谬,请不吝指正。

相关文档
最新文档