systemadmin.es > DBA > innodbchecksum: Uso de ibdata

innodbchecksum: Uso de ibdata

En una base de datos con InnoDB nos podemos encontrar que tenemos un ibdata1 absurdamente grande y no acabamos de entender que hay en dicho fichero. Mediante un attach del bug #57611 de MySQL, podemos ver el tipo de páginas que contiene el ibdata

Si lo bajamos y lo compilamos, simplemente deberemos ejecutarlo indicando dónde tenemos el ibdata. Si el fichero es grande quiza nos interese añadir la opción -v para ver el progreso:

# ./innodbchecksum -v /mysql/data/mysql-data/ibdata1 
file /mysql/data/mysql-data/ibdata1 = 25436356608 bytes (1552512 pages)...
checking pages in range 0 to 1552511
page 19999 okay: 1.288% done
page 29999 okay: 1.932% done
page 39999 okay: 2.576% done
(...)
0	bad checksum
1189668	FIL_PAGE_INDEX
325740	FIL_PAGE_UNDO_LOG
15	FIL_PAGE_INODE
555	FIL_PAGE_IBUF_FREE_LIST
36328	FIL_PAGE_TYPE_ALLOCATED
99	FIL_PAGE_IBUF_BITMAP
6	FIL_PAGE_TYPE_SYS
4	FIL_PAGE_TYPE_TRX_SYS
3	FIL_PAGE_TYPE_FSP_HDR
94	FIL_PAGE_TYPE_XDES
0	FIL_PAGE_TYPE_BLOB
0	FIL_PAGE_TYPE_ZBLOB
0	other
1098	max index_id
undo type: 18018 insert, 307722 update, 0 other
undo state: 2 active, 6 cached, 15 to_free, 3497 to_purge, 0 prepared, 322220 other
#pages	index_id
5	1
(...)

Por ejemplo, si en un master y un slave el datadir tiene tamaños diferentes, podemos comparar el ibdata de los dos servidores para verificar si tenemos tablas en uno de los servers que están en el ibdata en lugar de un tablespace dedicado.

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>