Skip to main content

Commands

Enum Commands 

Source
pub enum Commands {
Show 24 variants Parse { file: String, page: Option<u64>, verbose: bool, no_empty: bool, json: bool, page_size: Option<u32>, keyring: Option<String>, streaming: bool, }, Pages { file: String, page: Option<u64>, verbose: bool, show_empty: bool, list: bool, filter_type: Option<String>, deleted: bool, json: bool, page_size: Option<u32>, keyring: Option<String>, }, Dump { file: String, page: Option<u64>, offset: Option<u64>, length: Option<usize>, raw: bool, page_size: Option<u32>, keyring: Option<String>, decrypt: bool, }, Corrupt { file: String, page: Option<u64>, bytes: usize, header: bool, records: bool, offset: Option<u64>, verify: bool, json: bool, page_size: Option<u32>, }, Export { file: String, page: Option<u64>, format: String, where_delete_mark: bool, system_columns: bool, verbose: bool, page_size: Option<u32>, keyring: Option<String>, }, Find { datadir: String, page: Option<u64>, checksum: Option<u32>, space_id: Option<u32>, corrupt: bool, first: bool, json: bool, page_size: Option<u32>, depth: Option<u32>, }, Tsid { datadir: String, list: bool, tablespace_id: Option<u32>, json: bool, page_size: Option<u32>, depth: Option<u32>, }, Sdi { file: String, pretty: bool, page_size: Option<u32>, keyring: Option<String>, }, Schema { file: String, verbose: bool, json: bool, page_size: Option<u32>, keyring: Option<String>, }, Log { file: String, blocks: Option<u64>, no_empty: bool, verbose: bool, json: bool, }, Info {
Show 13 fields ibdata: bool, lsn_check: bool, datadir: Option<String>, database: Option<String>, table: Option<String>, host: Option<String>, port: Option<u16>, user: Option<String>, password: Option<String>, defaults_file: Option<String>, tablespace_map: bool, json: bool, page_size: Option<u32>,
}, Recover { file: String, page: Option<u64>, verbose: bool, json: bool, force: bool, page_size: Option<u32>, keyring: Option<String>, streaming: bool, rebuild: Option<String>, }, Checksum { file: String, verbose: bool, json: bool, page_size: Option<u32>, keyring: Option<String>, streaming: bool, }, Watch { file: String, interval: u64, verbose: bool, json: bool, events: bool, page_size: Option<u32>, keyring: Option<String>, }, Repair { file: Option<String>, batch: Option<String>, page: Option<u64>, algorithm: String, no_backup: bool, dry_run: bool, verbose: bool, json: bool, page_size: Option<u32>, keyring: Option<String>, }, Diff { file1: String, file2: String, verbose: bool, byte_ranges: bool, page: Option<u64>, version_aware: bool, json: bool, page_size: Option<u32>, keyring: Option<String>, }, Transplant { donor: String, target: String, pages: Vec<u64>, no_backup: bool, force: bool, dry_run: bool, verbose: bool, json: bool, page_size: Option<u32>, keyring: Option<String>, }, Health { file: String, verbose: bool, json: bool, prometheus: bool, page_size: Option<u32>, keyring: Option<String>, }, Audit { datadir: String, health: bool, checksum_mismatch: bool, verbose: bool, json: bool, prometheus: bool, page_size: Option<u32>, keyring: Option<String>, min_fill_factor: Option<f64>, max_fragmentation: Option<f64>, depth: Option<u32>, }, Compat { file: Option<String>, scan: Option<String>, target: String, verbose: bool, json: bool, page_size: Option<u32>, keyring: Option<String>, depth: Option<u32>, }, Defrag { file: String, output: String, verbose: bool, json: bool, page_size: Option<u32>, keyring: Option<String>, }, Validate { datadir: String, database: Option<String>, table: Option<String>, host: Option<String>, port: Option<u16>, user: Option<String>, password: Option<String>, defaults_file: Option<String>, verbose: bool, json: bool, page_size: Option<u32>, depth: Option<u32>, }, Verify { file: String, verbose: bool, json: bool, page_size: Option<u32>, keyring: Option<String>, redo: Option<String>, chain: Vec<String>, }, Completions { shell: Shell, },
}
Expand description

Available subcommands for the inno CLI.

Variants§

§

Parse

Parse .ibd file and display page summary

Reads the 38-byte FIL header of every page in a tablespace, decodes the page type, checksum, LSN, prev/next pointers, and space ID, then prints a per-page breakdown followed by a page-type frequency summary table. Page 0 additionally shows the FSP header (space ID, size, flags). Use --no-empty to skip zero-checksum allocated pages, or -p to inspect a single page in detail. With --verbose, checksum validation and LSN consistency results are included for each page.

Fields

§file: String

Path to InnoDB data file (.ibd)

§page: Option<u64>

Display a specific page number

§verbose: bool

Display additional information

§no_empty: bool

Skip empty/allocated pages

§json: bool

Output in JSON format

§page_size: Option<u32>

Override page size (default: auto-detect)

§keyring: Option<String>

Path to MySQL keyring file for decrypting encrypted tablespaces

§streaming: bool

Stream results incrementally for lower memory usage (disables parallel processing)

§

Pages

Detailed page structure analysis

Goes beyond FIL headers to decode the internal structure of each page type: INDEX pages show the B+Tree index header, FSEG inode pointers, and infimum/supremum system records; UNDO pages show the undo page header and segment state; BLOB/LOB pages show chain pointers and data lengths; and page 0 shows extended FSP header fields including compression and encryption flags. Use -l for a compact one-line-per-page listing, -t INDEX to filter by page type, or -p for a single page deep dive.

Fields

§file: String

Path to InnoDB data file (.ibd)

§page: Option<u64>

Display a specific page number

§verbose: bool

Display additional information

§show_empty: bool

Show empty/allocated pages

§list: bool

Compact list mode (one line per page)

§filter_type: Option<String>

Filter by page type (e.g., INDEX)

§deleted: bool

Show delete-marked record statistics for INDEX pages

§json: bool

Output in JSON format

§page_size: Option<u32>

Override page size (default: auto-detect)

§keyring: Option<String>

Path to MySQL keyring file for decrypting encrypted tablespaces

§

Dump

Hex dump of raw page bytes

Operates in two modes: page mode (default) reads a full page by number and produces a formatted hex dump with file-relative offsets; offset mode (--offset) reads bytes at an arbitrary file position, useful for inspecting structures that cross page boundaries. Use --length to limit the number of bytes shown, or --raw to emit unformatted binary bytes suitable for piping to other tools.

Fields

§file: String

Path to InnoDB data file

§page: Option<u64>

Page number to dump (default: 0)

§offset: Option<u64>

Absolute byte offset to start dumping (bypasses page mode)

§length: Option<usize>

Number of bytes to dump (default: page size or 256 for offset mode)

§raw: bool

Output raw binary bytes (no formatting)

§page_size: Option<u32>

Override page size (default: auto-detect)

§keyring: Option<String>

Path to MySQL keyring file for decrypting encrypted tablespaces

§decrypt: bool

Decrypt page before dumping (requires –keyring)

§

Corrupt

Intentionally corrupt pages for testing

Writes random bytes into a tablespace file to simulate data corruption. Targets can be the FIL header (-k), the record data area (-r), or an absolute byte offset (--offset). If no page is specified, one is chosen at random. Use --verify to print before/after checksum comparisons confirming the page is now invalid — useful for verifying that inno checksum correctly detects the damage.

Fields

§file: String

Path to data file

§page: Option<u64>

Page number to corrupt (random if not specified)

§bytes: usize

Number of bytes to corrupt

§header: bool

Corrupt the FIL header area

§records: bool

Corrupt the record data area

§offset: Option<u64>

Absolute byte offset to corrupt (bypasses page calculation)

§verify: bool

Show before/after checksum comparison

§json: bool

Output in JSON format

§page_size: Option<u32>

Override page size (default: auto-detect)

§

Export

Export record-level data from a tablespace

Extracts user records from clustered index leaf pages and outputs them as CSV, JSON, or raw hex. Uses SDI metadata (MySQL 8.0+) to decode field types and column names. Without SDI, falls back to hex-only output.

Supported types: integers (TINYINT–BIGINT), FLOAT, DOUBLE, DATE, DATETIME, TIMESTAMP, YEAR, VARCHAR, CHAR. Unsupported types (DECIMAL, BLOB, JSON, etc.) are exported as hex strings.

Use --where-delete-mark to include only delete-marked records (useful for forensic recovery). Use --system-columns to include DB_TRX_ID and DB_ROLL_PTR in the output.

Fields

§file: String

Path to InnoDB data file (.ibd)

§page: Option<u64>

Export records from a specific page only

§format: String

Output format: csv, json, or hex

§where_delete_mark: bool

Include only delete-marked records

§system_columns: bool

Include system columns (DB_TRX_ID, DB_ROLL_PTR) in output

§verbose: bool

Show additional details

§page_size: Option<u32>

Override page size (default: auto-detect)

§keyring: Option<String>

Path to MySQL keyring file for decrypting encrypted tablespaces

§

Find

Search for pages across data directory

Recursively discovers all .ibd files under a MySQL data directory, opens each as a tablespace, and reads the FIL header of every page looking for a matching page_number field. Optional --checksum and --space-id filters narrow results when the same page number appears in multiple tablespaces. Use --first to stop after the first match for faster lookups.

With --corrupt, scans all pages for checksum mismatches instead of searching by page number. Reports corrupt pages with their stored and calculated checksums plus corruption pattern classification.

Fields

§datadir: String

MySQL data directory path

§page: Option<u64>

Page number to search for

§checksum: Option<u32>

Checksum to match (page-number search only)

§space_id: Option<u32>

Space ID to match

§corrupt: bool

Scan for pages with checksum mismatches

§first: bool

Stop at first match

§json: bool

Output in JSON format

§page_size: Option<u32>

Override page size (default: auto-detect)

§depth: Option<u32>

Maximum directory recursion depth (default: 2, 0 = unlimited)

§

Tsid

List/find tablespace IDs

Scans .ibd and .ibu files under a MySQL data directory and reads the space ID from the FSP header (page 0, offset 38) of each file. In list mode (-l) it prints every file and its space ID; in lookup mode (-t <id>) it finds the file that owns a specific tablespace ID. Useful for mapping a space ID seen in error logs or INFORMATION_SCHEMA back to a physical file on disk.

Fields

§datadir: String

MySQL data directory path

§list: bool

List all tablespace IDs

§tablespace_id: Option<u32>

Find table file by tablespace ID

§json: bool

Output in JSON format

§page_size: Option<u32>

Override page size (default: auto-detect)

§depth: Option<u32>

Maximum directory recursion depth (default: 2, 0 = unlimited)

§

Sdi

Extract SDI metadata (MySQL 8.0+)

Locates SDI (Serialized Dictionary Information) pages in a tablespace by scanning for page type 17853, then reassembles multi-page SDI records by following the page chain. The zlib-compressed payload is decompressed and printed as JSON. Each tablespace in MySQL 8.0+ embeds its own table/column/index definitions as SDI records, eliminating the need for the .frm files used in older versions. Use --pretty for indented JSON output.

Fields

§file: String

Path to InnoDB data file (.ibd)

§pretty: bool

Pretty-print JSON output

§page_size: Option<u32>

Override page size (default: auto-detect)

§keyring: Option<String>

Path to MySQL keyring file for decrypting encrypted tablespaces

§

Schema

Extract schema and reconstruct DDL from tablespace metadata

Reads SDI (Serialized Dictionary Information) from MySQL 8.0+ tablespaces, parses the embedded data dictionary JSON into typed column, index, and foreign key definitions, and reconstructs a complete CREATE TABLE DDL statement. For pre-8.0 tablespaces that lack SDI, scans INDEX pages to infer basic index structure and record format (compact vs. redundant).

Use --verbose for a structured breakdown of columns, indexes, and foreign keys above the DDL. Use --json for machine-readable output including the full schema definition and DDL as a JSON object.

Fields

§file: String

Path to InnoDB data file (.ibd)

§verbose: bool

Show structured schema breakdown above the DDL

§json: bool

Output in JSON format

§page_size: Option<u32>

Override page size (default: auto-detect)

§keyring: Option<String>

Path to MySQL keyring file for decrypting encrypted tablespaces

§

Log

Analyze InnoDB redo log files

Opens an InnoDB redo log file (ib_logfile0/ib_logfile1 for MySQL < 8.0.30, or #ib_redo* files for 8.0.30+) and displays the log file header, both checkpoint records, and per-block details including block number, data length, checkpoint number, and CRC-32C checksum status. With --verbose, MLOG record types within each data block are decoded and summarized. Use --blocks N to limit output to the first N data blocks, or --no-empty to skip blocks that contain no redo data.

Fields

§file: String

Path to redo log file (ib_logfile0, ib_logfile1, or #ib_redo*)

§blocks: Option<u64>

Limit to first N data blocks

§no_empty: bool

Skip empty blocks

§verbose: bool

Display additional information

§json: bool

Output in JSON format

§

Info

Show InnoDB file and system information

Operates in three modes. --ibdata reads the ibdata1 page 0 FIL header and redo log checkpoint LSNs. --lsn-check compares the ibdata1 header LSN with the latest redo log checkpoint LSN to detect whether the system tablespace and redo log are in sync (useful for diagnosing crash-recovery state). -D/-t queries a live MySQL instance via INFORMATION_SCHEMA.INNODB_TABLES and INNODB_INDEXES for tablespace IDs, table IDs, index root pages, and key InnoDB status metrics (requires the mysql feature).

Fields

§ibdata: bool

Inspect ibdata1 page 0 header

§lsn_check: bool

Compare ibdata1 and redo log LSNs

§datadir: Option<String>

MySQL data directory path

§database: Option<String>

Database name (for table/index info)

§table: Option<String>

Table name (for table/index info)

§host: Option<String>

MySQL host

§port: Option<u16>

MySQL port

§user: Option<String>

MySQL user

§password: Option<String>

MySQL password

§defaults_file: Option<String>

Path to MySQL defaults file (.my.cnf)

§tablespace_map: bool

Scan data directory and produce a tablespace ID mapping

§json: bool

Output in JSON format

§page_size: Option<u32>

Override page size (default: auto-detect)

§

Recover

Recover data from corrupt/damaged tablespace files

Scans a tablespace file and classifies each page as intact, corrupt, empty, or unreadable. For INDEX pages, counts recoverable user records by walking the compact record chain. Produces a recovery assessment showing how many pages and records can be salvaged.

Use --force to also extract records from pages with bad checksums but valid-looking headers — useful when data is partially damaged but the record chain is still intact. Use --page-size to override page size detection when page 0 is corrupt.

With --verbose, per-page details are shown including page type, status, LSN, and record count. With --json, a structured report is emitted including optional per-record detail when combined with --verbose.

Fields

§file: String

Path to InnoDB data file (.ibd)

§page: Option<u64>

Analyze a single page instead of full scan

§verbose: bool

Show per-page details

§json: bool

Output in JSON format

§force: bool

Extract records from corrupt pages with valid headers

§page_size: Option<u32>

Override page size (critical when page 0 is corrupt)

§keyring: Option<String>

Path to MySQL keyring file for decrypting encrypted tablespaces

§streaming: bool

Stream results incrementally for lower memory usage (disables parallel processing)

§rebuild: Option<String>

Write a new tablespace from recoverable pages to the given path

§

Checksum

Validate page checksums

Reads every page in a tablespace and validates its stored checksum against both CRC-32C (MySQL 5.7.7+) and legacy InnoDB algorithms. Also checks that the header LSN low-32 bits match the FIL trailer. All-zero pages are counted as empty and skipped. With --verbose, per-page results are printed including the detected algorithm and stored vs. calculated values. Exits with code 1 if any page has an invalid checksum, making it suitable for use in scripts and CI.

Fields

§file: String

Path to InnoDB data file (.ibd)

§verbose: bool

Show per-page checksum details

§json: bool

Output in JSON format

§page_size: Option<u32>

Override page size (default: auto-detect)

§keyring: Option<String>

Path to MySQL keyring file for decrypting encrypted tablespaces

§streaming: bool

Stream results incrementally for lower memory usage (disables parallel processing)

§

Watch

Monitor a tablespace file for page-level changes

Polls an InnoDB tablespace file at a configurable interval and reports which pages have been modified, added, or removed since the last poll. Change detection is based on LSN comparison — if a page’s LSN changes between polls, it was modified by a write. Checksums are validated for each changed page to detect corruption during writes.

The tablespace is re-opened each cycle to detect file growth and avoid stale file handles. Use --verbose for per-field diffs on changed pages, or --json for NDJSON streaming output (one JSON object per line). Press Ctrl+C for a clean exit with a summary of total changes.

Fields

§file: String

Path to InnoDB data file (.ibd)

§interval: u64

Polling interval in milliseconds

§verbose: bool

Show per-field diffs for changed pages

§json: bool

Output in NDJSON streaming format

§events: bool

Emit per-page NDJSON change events (audit-log compatible)

§page_size: Option<u32>

Override page size (default: auto-detect)

§keyring: Option<String>

Path to MySQL keyring file for decrypting encrypted tablespaces

§

Repair

Repair corrupt page checksums

Recalculates and writes correct checksums for pages with invalid checksums or LSN mismatches. By default, auto-detects the checksum algorithm from page 0 and creates a .bak backup before modifying the file. Use --algorithm to force a specific algorithm, --dry-run to preview repairs without modifying the file, or --no-backup to skip the backup.

Fields

§file: Option<String>

Path to InnoDB data file (.ibd)

§batch: Option<String>

Repair all .ibd files under a data directory

§page: Option<u64>

Repair only a specific page number

§algorithm: String

Checksum algorithm: auto, crc32c, innodb, full_crc32

§no_backup: bool

Skip creating a backup before repair

§dry_run: bool

Preview repairs without modifying the file

§verbose: bool

Show per-page repair details

§json: bool

Output in JSON format

§page_size: Option<u32>

Override page size (default: auto-detect)

§keyring: Option<String>

Path to MySQL keyring file for decrypting encrypted tablespaces

§

Diff

Compare two tablespace files page-by-page

Reads two InnoDB tablespace files and compares them page-by-page, reporting which pages are identical, modified, or only present in one file. With --verbose, per-page FIL header field diffs are shown for modified pages, highlighting changes to checksums, LSNs, page types, and space IDs. Add --byte-ranges (with -v) to see the exact byte offsets where page content differs. Use -p to compare a single page, or --json for machine-readable output.

When files have different page sizes, only FIL headers (first 38 bytes) are compared and a warning is displayed.

Fields

§file1: String

First InnoDB data file (.ibd)

§file2: String

Second InnoDB data file (.ibd)

§verbose: bool

Show per-page header field diffs

§byte_ranges: bool

Show byte-range diffs for changed pages (requires -v)

§page: Option<u64>

Compare a single page only

§version_aware: bool

Annotate diff with MySQL version information from SDI metadata

§json: bool

Output in JSON format

§page_size: Option<u32>

Override page size (default: auto-detect)

§keyring: Option<String>

Path to MySQL keyring file for decrypting encrypted tablespaces

§

Transplant

Copy specific pages from a donor tablespace into a target

Reads pages from the donor file and writes them into the target file at the same page number. Safety checks ensure page sizes and space IDs match. Page 0 (FSP_HDR) is rejected unless --force is used. Donor pages with invalid checksums are skipped unless --force is used.

A backup of the target is created by default. Use --dry-run to preview which pages would be transplanted without modifying the target.

Fields

§donor: String

Path to donor tablespace file (source of pages)

§target: String

Path to target tablespace file (destination)

§pages: Vec<u64>

Page numbers to transplant (comma-separated)

§no_backup: bool

Skip creating a backup of the target

§force: bool

Allow space ID mismatch, corrupt donor pages, and page 0 transplant

§dry_run: bool

Preview without modifying the target file

§verbose: bool

Show per-page details

§json: bool

Output in JSON format

§page_size: Option<u32>

Override page size (default: auto-detect)

§keyring: Option<String>

Path to MySQL keyring file for decrypting encrypted tablespaces

§

Health

Per-index B+Tree health metrics

Scans all INDEX pages in a tablespace and computes per-index health metrics including fill factor (average, min, max), garbage ratio, fragmentation, tree depth, and page counts. Optionally resolves index names from SDI metadata (MySQL 8.0+).

Use --verbose for additional detail including total records and empty leaf page counts. Use --json for machine-readable output.

Fields

§file: String

Path to InnoDB data file (.ibd)

§verbose: bool

Show additional detail (records, empty leaves)

§json: bool

Output in JSON format

§prometheus: bool

Output metrics in Prometheus exposition format

§page_size: Option<u32>

Override page size (default: auto-detect)

§keyring: Option<String>

Path to MySQL keyring file for decrypting encrypted tablespaces

§

Audit

Audit a MySQL data directory for integrity, health, or corruption

Scans all .ibd files under a data directory and validates checksums, computes health metrics, or lists corrupt pages — replacing the need to run inno checksum or inno health file-by-file. Three modes:

Default (integrity): validates checksums across all tablespace files and reports per-file pass/fail with a directory-wide integrity percentage.

--health: computes per-tablespace fill factor, fragmentation, and garbage ratio, ranked worst-first. Use --min-fill-factor and --max-fragmentation to filter for unhealthy tablespaces only.

--checksum-mismatch: compact listing of only corrupt pages with stored vs. calculated checksums, suitable for piping to inno repair.

--health and --checksum-mismatch are mutually exclusive.

Fields

§datadir: String

MySQL data directory path

§health: bool

Show per-tablespace health metrics instead of checksum validation

§checksum_mismatch: bool

List only pages with checksum mismatches (compact output)

§verbose: bool

Show additional details (per-page results in default mode)

§json: bool

Output in JSON format

§prometheus: bool

Output metrics in Prometheus exposition format

§page_size: Option<u32>

Override page size (default: auto-detect per file)

§keyring: Option<String>

Path to MySQL keyring file for decrypting encrypted tablespaces

§min_fill_factor: Option<f64>

Show tables with fill factor below this threshold (0-100, –health only)

§max_fragmentation: Option<f64>

Show tables with fragmentation above this threshold (0-100, –health only)

§depth: Option<u32>

Maximum directory recursion depth (default: 2, 0 = unlimited)

§

Compat

Check tablespace compatibility with a target MySQL version

Analyzes tablespace files to determine whether they are compatible with a target MySQL version. Checks include page size support, row format, encryption, compression, SDI presence, and vendor compatibility (MariaDB tablespaces are flagged as incompatible).

Single-file mode (--file): checks one tablespace and reports all compatibility findings with severity levels (info/warning/error).

Directory scan mode (--scan): discovers all .ibd files under a data directory, runs compatibility checks on each in parallel, and produces a per-file summary plus an overall compatible/incompatible count.

--file and --scan are mutually exclusive.

Fields

§file: Option<String>

Path to InnoDB data file (.ibd)

§scan: Option<String>

Scan a data directory for compatibility issues (mutually exclusive with –file)

§target: String

Target MySQL version (e.g., “8.4.0”, “9.0.0”)

§verbose: bool

Show detailed check information

§json: bool

Output in JSON format

§page_size: Option<u32>

Override page size (default: auto-detect)

§keyring: Option<String>

Path to MySQL keyring file for decrypting encrypted tablespaces

§depth: Option<u32>

Maximum directory recursion depth (default: 2, 0 = unlimited)

§

Defrag

Defragment a tablespace by reclaiming free space and reordering pages

Reads all pages from a source tablespace, removes empty and corrupt pages, sorts INDEX pages by (index_id, level, page_number), fixes prev/next chain pointers within each index group, renumbers pages sequentially, rebuilds page 0, recalculates all checksums, and writes the result to a new output file. The source file is never modified.

Fields

§file: String

Path to source InnoDB data file (.ibd)

§output: String

Path to output file (required — always writes a new file)

§verbose: bool

Show per-page details

§json: bool

Output in JSON format

§page_size: Option<u32>

Override page size (default: auto-detect)

§keyring: Option<String>

Path to MySQL keyring file for decrypting encrypted tablespaces

§

Validate

Cross-validate tablespace files against live MySQL metadata

Scans a data directory for .ibd files and compares their space IDs against MySQL’s INFORMATION_SCHEMA.INNODB_TABLESPACES. Detects orphan files (on disk but not in MySQL), missing tablespaces (in MySQL but not on disk), and space ID mismatches. Requires –host and –user for MySQL connection (mysql feature must be compiled).

Fields

§datadir: String

Path to MySQL data directory

§database: Option<String>

Database name to filter (optional)

§table: Option<String>

Deep-validate a specific table (format: db.table or db/table)

§host: Option<String>

MySQL host

§port: Option<u16>

MySQL port

§user: Option<String>

MySQL user

§password: Option<String>

MySQL password

§defaults_file: Option<String>

Path to MySQL defaults file (.my.cnf)

§verbose: bool

Show detailed output

§json: bool

Output in JSON format

§page_size: Option<u32>

Override page size (default: auto-detect)

§depth: Option<u32>

Maximum directory recursion depth (default: 2, 0 = unlimited)

§

Verify

Verify structural integrity of a tablespace

Runs pure structural checks on a tablespace file without requiring valid checksums. Checks page number sequence, space ID consistency, LSN monotonicity, B+Tree level validity, page chain bounds, and trailer LSN matching. Exits with code 1 if any check fails.

Fields

§file: String

Path to InnoDB data file (.ibd)

§verbose: bool

Show per-page findings

§json: bool

Output in JSON format

§page_size: Option<u32>

Override page size (default: auto-detect)

§keyring: Option<String>

Path to MySQL keyring file for decrypting encrypted tablespaces

§redo: Option<String>

Path to redo log file to verify LSN continuity against the tablespace

§chain: Vec<String>

Verify backup chain continuity across multiple tablespace files

§

Completions

Generate shell completion scripts

Fields

§shell: Shell

Shell to generate completions for

Trait Implementations§

Source§

impl FromArgMatches for Commands

Source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

impl Subcommand for Commands

Source§

fn augment_subcommands<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate Self via FromArgMatches::from_arg_matches_mut Read more
Source§

fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate self via FromArgMatches::update_from_arg_matches_mut Read more
Source§

fn has_subcommand(__clap_name: &str) -> bool

Test whether Self can parse a specific subcommand

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V