perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_CTYPE = "UTF-8", LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). # /usr/bin/perl 5.010001 # Linux sandbox 2.6.32-573.7.1.el6.x86_64 #1 SMP Tue Sep 22 22:00:00 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux # Arguments: _[--databases=test]_ _[--where]_ _[1=1]_ _[h=127.0.0.1,u=root,p=msandbox,P=21690]_ # OptionParser:1951 31125 Option rule: This tool accepts additional command-line arguments. Refer to the SYNOPSIS and usage information for details. # OptionParser:1960 31125 =item --ask-pass # OptionParser:1987 31125 Short help: Prompt for a password when connecting to MySQL # OptionParser:1960 31125 =item --[no]check-binlog-format # OptionParser:1987 31125 Short help: Check that the binlog_format is the same on all servers # OptionParser:1960 31125 =item --binary-index # OptionParser:1979 31125 Option has no attributes # OptionParser:1987 31125 Short help: This option modifies the behavior of --create-replicate-table such that the replicate table's upper and lower boundary columns are created with the BLOB data type # OptionParser:1960 31125 =item --check-interval # OptionParser:1987 31125 Short help: Sleep time between checks for --max-lag # OptionParser:1960 31125 =item --[no]check-plan # OptionParser:1987 31125 Short help: Check query execution plans for safety # OptionParser:1960 31125 =item --[no]check-replication-filters # OptionParser:1987 31125 Short help: Do not checksum if any replication filters are set on any replicas # OptionParser:1960 31125 =item --check-slave-lag # OptionParser:1987 31125 Short help: Pause checksumming until this replica's lag is less than --max-lag # OptionParser:1960 31125 =item --[no]check-slave-tables # OptionParser:1987 31125 Short help: Checks that tables on slaves exist and have all the checksum --columns # OptionParser:1960 31125 =item --chunk-index # OptionParser:1987 31125 Short help: Prefer this index for chunking tables # OptionParser:1960 31125 =item --chunk-index-columns # OptionParser:1987 31125 Short help: Use only this many left-most columns of a --chunk-index # OptionParser:1960 31125 =item --chunk-size # OptionParser:1987 31125 Short help: Number of rows to select for each checksum query # OptionParser:1960 31125 =item --chunk-size-limit # OptionParser:1987 31125 Short help: Do not checksum chunks this much larger than the desired chunk size # OptionParser:1960 31125 =item --chunk-time # OptionParser:1987 31125 Short help: Adjust the chunk size dynamically so each checksum query takes this long to execute # OptionParser:1960 31125 =item --columns # OptionParser:1987 31125 Short help: Checksum only this comma-separated list of columns # OptionParser:1960 31125 =item --config # OptionParser:1987 31125 Short help: Read this comma-separated list of config files; if specified, this must be the first option on the command line # OptionParser:1960 31125 =item --[no]create-replicate-table # OptionParser:1987 31125 Short help: Create the --replicate database and table if they do not exist # OptionParser:1960 31125 =item --databases # OptionParser:1987 31125 Short help: Only checksum this comma-separated list of databases # OptionParser:1960 31125 =item --databases-regex # OptionParser:1987 31125 Short help: Only checksum databases whose names match this Perl regex # OptionParser:1960 31125 =item --defaults-file # OptionParser:1987 31125 Short help: Only read mysql options from the given file # OptionParser:1960 31125 =item --[no]empty-replicate-table # OptionParser:1987 31125 Short help: Delete previous checksums for each table before checksumming the table # OptionParser:1960 31125 =item --engines # OptionParser:1987 31125 Short help: Only checksum tables which use these storage engines # OptionParser:1960 31125 =item --explain # OptionParser:1987 31125 Short help: Show, but do not execute, checksum queries (disables --[no]empty-replicate-table) # OptionParser:1960 31125 =item --float-precision # OptionParser:1987 31125 Short help: Precision for FLOAT and DOUBLE number-to-string conversion # OptionParser:1960 31125 =item --function # OptionParser:1987 31125 Short help: Hash function for checksums (FNV1A_64, MURMUR_HASH, SHA1, MD5, CRC32, etc) # OptionParser:1960 31125 =item --help # OptionParser:1987 31125 Short help: Show help and exit # OptionParser:1960 31125 =item --host # OptionParser:1987 31125 Short help: Host to connect to # OptionParser:1960 31125 =item --ignore-columns # OptionParser:1987 31125 Short help: Ignore this comma-separated list of columns when calculating the checksum # OptionParser:1960 31125 =item --ignore-databases # OptionParser:1987 31125 Short help: Ignore this comma-separated list of databases # OptionParser:1960 31125 =item --ignore-databases-regex # OptionParser:1987 31125 Short help: Ignore databases whose names match this Perl regex # OptionParser:1960 31125 =item --ignore-engines # OptionParser:1987 31125 Short help: Ignore this comma-separated list of storage engines # OptionParser:1960 31125 =item --ignore-tables # OptionParser:1987 31125 Short help: Ignore this comma-separated list of tables # OptionParser:1960 31125 =item --ignore-tables-regex # OptionParser:1987 31125 Short help: Ignore tables whose names match the Perl regex # OptionParser:1960 31125 =item --max-lag # OptionParser:1987 31125 Short help: Pause checksumming until all replicas' lag is less than this value # OptionParser:1960 31125 =item --max-load # OptionParser:1987 31125 Short help: Examine SHOW GLOBAL STATUS after every chunk, and pause if any status variables are higher than the threshold # OptionParser:1960 31125 =item --password # OptionParser:1987 31125 Short help: Password to use when connecting # OptionParser:1960 31125 =item --pid # OptionParser:1987 31125 Short help: Create the given PID file # OptionParser:1960 31125 =item --plugin # OptionParser:1987 31125 Short help: Perl module file that defines a pt_table_checksum_plugin class # OptionParser:1960 31125 =item --port # OptionParser:1987 31125 Short help: Port number to use for connection # OptionParser:1960 31125 =item --progress # OptionParser:1987 31125 Short help: Print progress reports to STDERR # OptionParser:1960 31125 =item --quiet # OptionParser:1987 31125 Short help: Print only the most important information (disables --progress) # OptionParser:1960 31125 =item --recurse # OptionParser:1987 31125 Short help: Number of levels to recurse in the hierarchy when discovering replicas # OptionParser:1960 31125 =item --recursion-method # OptionParser:1987 31125 Short help: Preferred recursion method for discovering replicas. pt-table-checksum performs several REPLICA CHECKS before and while running # OptionParser:1960 31125 =item --replicate # OptionParser:1987 31125 Short help: Write checksum results to this table # OptionParser:1960 31125 =item --[no]replicate-check # OptionParser:1987 31125 Short help: Check replicas for data differences after finishing each table # OptionParser:1960 31125 =item --replicate-check-only # OptionParser:1979 31125 Option has no attributes # OptionParser:1987 31125 Short help: Check replicas for consistency without executing checksum queries # OptionParser:1960 31125 =item --replicate-check-retries # OptionParser:1987 31125 Short help: Retry checksum comparison this many times when a difference is encountered # OptionParser:1960 31125 =item --replicate-database # OptionParser:1987 31125 Short help: USE only this database # OptionParser:1960 31125 =item --resume # OptionParser:1979 31125 Option has no attributes # OptionParser:1987 31125 Short help: Resume checksumming from the last completed chunk (disables --[no]empty-replicate-table) # OptionParser:1960 31125 =item --retries # OptionParser:1987 31125 Short help: Retry a chunk this many times when there is a nonfatal error # OptionParser:1960 31125 =item --run-time # OptionParser:1987 31125 Short help: How long to run # OptionParser:1960 31125 =item --separator # OptionParser:1987 31125 Short help: The separator character used for CONCAT_WS() # OptionParser:1960 31125 =item --set-vars # OptionParser:1987 31125 Short help: Set the MySQL variables in this comma-separated list of variable=value pairs # OptionParser:1960 31125 =item --socket # OptionParser:1987 31125 Short help: Socket file to use for connection # OptionParser:1960 31125 =item --slave-skip-tolerance # OptionParser:1987 31125 Short help: When a master table is marked to be checksumed in only one chunk but a slave table exceeds the maximum accepted size for this, the table is skipped # OptionParser:1960 31125 =item --tables # OptionParser:1987 31125 Short help: Checksum only this comma-separated list of tables # OptionParser:1960 31125 =item --tables-regex # OptionParser:1987 31125 Short help: Checksum only tables whose names match this Perl regex # OptionParser:1960 31125 =item --trim # OptionParser:1979 31125 Option has no attributes # OptionParser:1987 31125 Short help: Add TRIM() to VARCHAR columns (helps when comparing 4.1 to >= 5.0) # OptionParser:1960 31125 =item --user # OptionParser:1987 31125 Short help: User for login if not current user # OptionParser:1960 31125 =item --version # OptionParser:1987 31125 Short help: Show version and exit # OptionParser:1960 31125 =item --[no]version-check # OptionParser:1987 31125 Short help: Check for the latest version of Percona Toolkit, MySQL, and other programs # OptionParser:1960 31125 =item --where # OptionParser:1987 31125 Short help: Do only rows matching this WHERE clause # OptionParser:2026 31125 Parsing opt spec: group => Connection spec => ask-pass desc => Prompt for a password when connecting to MySQL # OptionParser:2064 31125 ask-pass type: undef # OptionParser:2026 31125 Parsing opt spec: group => default spec => check-binlog-format! desc => Check that the binlog_format is the same on all servers (default yes) # OptionParser:2064 31125 check-binlog-format type: undef # OptionParser:2071 31125 check-binlog-format default: yes # OptionParser:2026 31125 Parsing opt spec: group => default spec => binary-index desc => This option modifies the behavior of --create-replicate-table such that the replicate table's upper and lower boundary columns are created with the BLOB data type # OptionParser:2064 31125 binary-index type: undef # OptionParser:2026 31125 Parsing opt spec: group => Throttle spec => check-interval=m desc => Sleep time between checks for --max-lag (default 1) # OptionParser:2064 31125 check-interval type: m # OptionParser:2071 31125 check-interval default: 1 # OptionParser:2026 31125 Parsing opt spec: group => default spec => check-plan! desc => Check query execution plans for safety (default yes) # OptionParser:2064 31125 check-plan type: undef # OptionParser:2071 31125 check-plan default: yes # OptionParser:2026 31125 Parsing opt spec: group => Safety spec => check-replication-filters! desc => Do not checksum if any replication filters are set on any replicas (default yes) # OptionParser:2064 31125 check-replication-filters type: undef # OptionParser:2071 31125 check-replication-filters default: yes # OptionParser:2026 31125 Parsing opt spec: group => Throttle spec => check-slave-lag=s desc => Pause checksumming until this replica's lag is less than --max-lag # OptionParser:2064 31125 check-slave-lag type: s # OptionParser:2026 31125 Parsing opt spec: group => Safety spec => check-slave-tables! desc => Checks that tables on slaves exist and have all the checksum --columns (default yes) # OptionParser:2064 31125 check-slave-tables type: undef # OptionParser:2071 31125 check-slave-tables default: yes # OptionParser:2026 31125 Parsing opt spec: group => default spec => chunk-index=s desc => Prefer this index for chunking tables # OptionParser:2064 31125 chunk-index type: s # OptionParser:2026 31125 Parsing opt spec: group => default spec => chunk-index-columns=i desc => Use only this many left-most columns of a --chunk-index # OptionParser:2064 31125 chunk-index-columns type: i # OptionParser:2026 31125 Parsing opt spec: group => default spec => chunk-size=z desc => Number of rows to select for each checksum query (default 1000) # OptionParser:2064 31125 chunk-size type: z # OptionParser:2071 31125 chunk-size default: 1000 # OptionParser:2026 31125 Parsing opt spec: group => Safety spec => chunk-size-limit=f desc => Do not checksum chunks this much larger than the desired chunk size (default 2.0) # OptionParser:2064 31125 chunk-size-limit type: f # OptionParser:2071 31125 chunk-size-limit default: 2.0 # OptionParser:2026 31125 Parsing opt spec: group => default spec => chunk-time=f desc => Adjust the chunk size dynamically so each checksum query takes this long to execute (default 0.5) # OptionParser:2064 31125 chunk-time type: f # OptionParser:2071 31125 chunk-time default: 0.5 # OptionParser:2026 31125 Parsing opt spec: group => Filter spec => columns|c=a desc => Checksum only this comma-separated list of columns # OptionParser:2064 31125 columns type: a # OptionParser:2026 31125 Parsing opt spec: group => Config spec => config=A desc => Read this comma-separated list of config files; if specified, this must be the first option on the command line # OptionParser:2064 31125 config type: A # OptionParser:2026 31125 Parsing opt spec: group => default spec => create-replicate-table! desc => Create the --replicate database and table if they do not exist (default yes) # OptionParser:2064 31125 create-replicate-table type: undef # OptionParser:2071 31125 create-replicate-table default: yes # OptionParser:2026 31125 Parsing opt spec: group => Filter spec => databases|d=h desc => Only checksum this comma-separated list of databases # OptionParser:2064 31125 databases type: h # OptionParser:2026 31125 Parsing opt spec: group => Filter spec => databases-regex=s desc => Only checksum databases whose names match this Perl regex # OptionParser:2064 31125 databases-regex type: s # OptionParser:2026 31125 Parsing opt spec: group => Connection spec => defaults-file|F=s desc => Only read mysql options from the given file # OptionParser:2064 31125 defaults-file type: s # OptionParser:2026 31125 Parsing opt spec: group => default spec => empty-replicate-table! desc => Delete previous checksums for each table before checksumming the table (default yes) # OptionParser:2064 31125 empty-replicate-table type: undef # OptionParser:2071 31125 empty-replicate-table default: yes # OptionParser:2026 31125 Parsing opt spec: group => Filter spec => engines|e=h desc => Only checksum tables which use these storage engines # OptionParser:2064 31125 engines type: h # OptionParser:2026 31125 Parsing opt spec: group => Output spec => explain+ desc => Show, but do not execute, checksum queries (disables --[no]empty-replicate-table) (default 0) # OptionParser:2064 31125 explain type: undef # OptionParser:2071 31125 explain default: 0 # OptionParser:2080 31125 Deferring check of disables rule for HASH(0x273ece8) disables --[no]empty-replicate-table) (default 0) # OptionParser:2026 31125 Parsing opt spec: group => default spec => float-precision=i desc => Precision for FLOAT and DOUBLE number-to-string conversion # OptionParser:2064 31125 float-precision type: i # OptionParser:2026 31125 Parsing opt spec: group => default spec => function=s desc => Hash function for checksums (FNV1A_64, MURMUR_HASH, SHA1, MD5, CRC32, etc) # OptionParser:2064 31125 function type: s # OptionParser:2026 31125 Parsing opt spec: group => Help spec => help desc => Show help and exit # OptionParser:2064 31125 help type: undef # OptionParser:2026 31125 Parsing opt spec: group => Connection spec => host|h=s desc => Host to connect to (default localhost) # OptionParser:2064 31125 host type: s # OptionParser:2071 31125 host default: localhost # OptionParser:2026 31125 Parsing opt spec: group => Filter spec => ignore-columns=H desc => Ignore this comma-separated list of columns when calculating the checksum # OptionParser:2064 31125 ignore-columns type: H # OptionParser:2026 31125 Parsing opt spec: group => Filter spec => ignore-databases=H desc => Ignore this comma-separated list of databases # OptionParser:2064 31125 ignore-databases type: H # OptionParser:2026 31125 Parsing opt spec: group => Filter spec => ignore-databases-regex=s desc => Ignore databases whose names match this Perl regex # OptionParser:2064 31125 ignore-databases-regex type: s # OptionParser:2026 31125 Parsing opt spec: group => Filter spec => ignore-engines=H desc => Ignore this comma-separated list of storage engines (default FEDERATED,MRG_MyISAM) # OptionParser:2064 31125 ignore-engines type: H # OptionParser:2071 31125 ignore-engines default: FEDERATED,MRG_MyISAM # OptionParser:2026 31125 Parsing opt spec: group => Filter spec => ignore-tables=H desc => Ignore this comma-separated list of tables # OptionParser:2064 31125 ignore-tables type: H # OptionParser:2026 31125 Parsing opt spec: group => Filter spec => ignore-tables-regex=s desc => Ignore tables whose names match the Perl regex # OptionParser:2064 31125 ignore-tables-regex type: s # OptionParser:2026 31125 Parsing opt spec: group => Throttle spec => max-lag=m desc => Pause checksumming until all replicas' lag is less than this value (default 1s) # OptionParser:2064 31125 max-lag type: m # OptionParser:2071 31125 max-lag default: 1s # OptionParser:2026 31125 Parsing opt spec: group => Throttle spec => max-load=A desc => Examine SHOW GLOBAL STATUS after every chunk, and pause if any status variables are higher than the threshold (default Threads_running=25) # OptionParser:2064 31125 max-load type: A # OptionParser:2071 31125 max-load default: Threads_running=25 # OptionParser:2026 31125 Parsing opt spec: group => Connection spec => password|p=s desc => Password to use when connecting # OptionParser:2064 31125 password type: s # OptionParser:2026 31125 Parsing opt spec: group => default spec => pid=s desc => Create the given PID file # OptionParser:2064 31125 pid type: s # OptionParser:2026 31125 Parsing opt spec: group => default spec => plugin=s desc => Perl module file that defines a pt_table_checksum_plugin class # OptionParser:2064 31125 plugin type: s # OptionParser:2026 31125 Parsing opt spec: group => Connection spec => port|P=i desc => Port number to use for connection # OptionParser:2064 31125 port type: i # OptionParser:2026 31125 Parsing opt spec: group => default spec => progress=a desc => Print progress reports to STDERR (default time,30) # OptionParser:2064 31125 progress type: a # OptionParser:2071 31125 progress default: time,30 # OptionParser:2026 31125 Parsing opt spec: group => default spec => quiet|q+ desc => Print only the most important information (disables --progress) (default 0) # OptionParser:2064 31125 quiet type: undef # OptionParser:2071 31125 quiet default: 0 # OptionParser:2080 31125 Deferring check of disables rule for HASH(0x273e4a8) disables --progress) (default 0) # OptionParser:2026 31125 Parsing opt spec: group => default spec => recurse=i desc => Number of levels to recurse in the hierarchy when discovering replicas # OptionParser:2064 31125 recurse type: i # OptionParser:2026 31125 Parsing opt spec: group => default spec => recursion-method=a desc => Preferred recursion method for discovering replicas. pt-table-checksum performs several REPLICA CHECKS before and while running (default processlist,hosts) # OptionParser:2064 31125 recursion-method type: a # OptionParser:2071 31125 recursion-method default: processlist,hosts # OptionParser:2026 31125 Parsing opt spec: group => default spec => replicate=s desc => Write checksum results to this table (default percona.checksums) # OptionParser:2064 31125 replicate type: s # OptionParser:2071 31125 replicate default: percona.checksums # OptionParser:2026 31125 Parsing opt spec: group => default spec => replicate-check! desc => Check replicas for data differences after finishing each table (default yes) # OptionParser:2064 31125 replicate-check type: undef # OptionParser:2071 31125 replicate-check default: yes # OptionParser:2026 31125 Parsing opt spec: group => default spec => replicate-check-only desc => Check replicas for consistency without executing checksum queries # OptionParser:2064 31125 replicate-check-only type: undef # OptionParser:2026 31125 Parsing opt spec: group => default spec => replicate-check-retries=i desc => Retry checksum comparison this many times when a difference is encountered (default 1) # OptionParser:2064 31125 replicate-check-retries type: i # OptionParser:2071 31125 replicate-check-retries default: 1 # OptionParser:2026 31125 Parsing opt spec: group => default spec => replicate-database=s desc => USE only this database # OptionParser:2064 31125 replicate-database type: s # OptionParser:2026 31125 Parsing opt spec: group => default spec => resume desc => Resume checksumming from the last completed chunk (disables --[no]empty-replicate-table) # OptionParser:2064 31125 resume type: undef # OptionParser:2080 31125 Deferring check of disables rule for HASH(0x273dfc8) disables --[no]empty-replicate-table) # OptionParser:2026 31125 Parsing opt spec: group => default spec => retries=i desc => Retry a chunk this many times when there is a nonfatal error (default 2) # OptionParser:2064 31125 retries type: i # OptionParser:2071 31125 retries default: 2 # OptionParser:2026 31125 Parsing opt spec: group => default spec => run-time=m desc => How long to run # OptionParser:2064 31125 run-time type: m # OptionParser:2026 31125 Parsing opt spec: group => default spec => separator=s desc => The separator character used for CONCAT_WS() (default #) # OptionParser:2064 31125 separator type: s # OptionParser:2071 31125 separator default: # # OptionParser:2026 31125 Parsing opt spec: group => Connection spec => set-vars=A desc => Set the MySQL variables in this comma-separated list of variable=value pairs # OptionParser:2064 31125 set-vars type: A # OptionParser:2026 31125 Parsing opt spec: group => Connection spec => socket|S=s desc => Socket file to use for connection # OptionParser:2064 31125 socket type: s # OptionParser:2026 31125 Parsing opt spec: group => default spec => slave-skip-tolerance=f desc => When a master table is marked to be checksumed in only one chunk but a slave table exceeds the maximum accepted size for this, the table is skipped (default 1.0) # OptionParser:2064 31125 slave-skip-tolerance type: f # OptionParser:2071 31125 slave-skip-tolerance default: 1.0 # OptionParser:2026 31125 Parsing opt spec: group => Filter spec => tables|t=h desc => Checksum only this comma-separated list of tables # OptionParser:2064 31125 tables type: h # OptionParser:2026 31125 Parsing opt spec: group => Filter spec => tables-regex=s desc => Checksum only tables whose names match this Perl regex # OptionParser:2064 31125 tables-regex type: s # OptionParser:2026 31125 Parsing opt spec: group => default spec => trim desc => Add TRIM() to VARCHAR columns (helps when comparing 4.1 to >= 5.0) # OptionParser:2064 31125 trim type: undef # OptionParser:2026 31125 Parsing opt spec: group => Connection spec => user|u=s desc => User for login if not current user # OptionParser:2064 31125 user type: s # OptionParser:2026 31125 Parsing opt spec: group => Help spec => version desc => Show version and exit # OptionParser:2064 31125 version type: undef # OptionParser:2026 31125 Parsing opt spec: group => default spec => version-check! desc => Check for the latest version of Percona Toolkit, MySQL, and other programs (default yes) # OptionParser:2064 31125 version-check type: undef # OptionParser:2071 31125 version-check default: yes # OptionParser:2026 31125 Parsing opt spec: group => default spec => where=s desc => Do only rows matching this WHERE clause # OptionParser:2064 31125 where type: s # OptionParser:2086 31125 Parsing rule: This tool accepts additional command-line arguments. Refer to the SYNOPSIS and usage information for details. # OptionParser:2142 31125 Participants for This tool accepts additional command-line arguments. Refer to the SYNOPSIS and usage information for details. : # OptionParser:2118 31125 Strict mode disabled by rule # OptionParser:2142 31125 Participants for disables --[no]empty-replicate-table) : empty-replicate-table # OptionParser:2128 31125 Option resume disables empty-replicate-table # OptionParser:2142 31125 Participants for disables --progress) (default 0) : progress # OptionParser:2128 31125 Option quiet disables progress # OptionParser:2142 31125 Participants for disables --[no]empty-replicate-table) (default 0) : empty-replicate-table # OptionParser:2128 31125 Option explain disables empty-replicate-table # OptionParser:1870 31125 Parsing DSN OPTIONS # OptionParser:1960 31125 =item * A # OptionParser:1987 31125 Short help: Default character set # OptionParser:1960 31125 =item * D # OptionParser:1987 31125 Short help: DSN table database # OptionParser:1960 31125 =item * F # OptionParser:1987 31125 Short help: Defaults file for connection values # OptionParser:1960 31125 =item * h # OptionParser:1987 31125 Short help: Connect to host # OptionParser:1960 31125 =item * p # OptionParser:1987 31125 Short help: Password to use when connecting # OptionParser:1960 31125 =item * P # OptionParser:1987 31125 Short help: Port number to use for connection # OptionParser:1960 31125 =item * S # OptionParser:1987 31125 Short help: Socket file to use for connection # OptionParser:1960 31125 =item * t # OptionParser:1987 31125 Short help: DSN table table # OptionParser:1960 31125 =item * u # OptionParser:1987 31125 Short help: User for login if not current user # DSNParser:1389 31125 DSN option: copy=1, dsn=charset, desc=Default character set, key=A # DSNParser:1389 31125 DSN option: copy=, dsn=undef, desc=DSN table database, key=D # DSNParser:1389 31125 DSN option: copy=1, dsn=mysql_read_default_file, desc=Defaults file for connection values, key=F # DSNParser:1389 31125 DSN option: copy=1, dsn=host, desc=Connect to host, key=h # DSNParser:1389 31125 DSN option: copy=1, dsn=password, desc=Password to use when connecting, key=p # DSNParser:1389 31125 DSN option: copy=1, dsn=port, desc=Port number to use for connection, key=P # DSNParser:1389 31125 DSN option: copy=, dsn=mysql_socket, desc=Socket file to use for connection, key=S # DSNParser:1389 31125 DSN option: copy=, dsn=undef, desc=DSN table table, key=t # DSNParser:1389 31125 DSN option: copy=1, dsn=user, desc=User for login if not current user, key=u # OptionParser:1914 31125 pt-table-checksum 2.2.17 # OptionParser:2236 31125 Cannot open /etc/percona-toolkit/percona-toolkit.conf: No such file or directory # # OptionParser:2236 31125 Cannot open /etc/percona-toolkit/pt-table-checksum.conf: No such file or directory # # OptionParser:2236 31125 Cannot open /home/user/.percona-toolkit.conf: No such file or directory # # OptionParser:2236 31125 Cannot open /home/user/.pt-table-checksum.conf: No such file or directory # # OptionParser:2204 31125 Got option databases = test # OptionParser:2204 31125 Got option where = 1=1 # OptionParser:2424 31125 Nothing to validate for option ignore-tables-regex type s value undef # OptionParser:2414 31125 Parsing option chunk-size as a size value # OptionParser:2424 31125 Nothing to validate for option slave-skip-tolerance type f value 1.0 # OptionParser:2424 31125 Nothing to validate for option ignore-databases-regex type s value undef # OptionParser:2424 31125 Nothing to validate for option check-slave-lag type s value undef # OptionParser:2424 31125 Nothing to validate for option chunk-index type s value undef # OptionParser:2424 31125 Nothing to validate for option tables type h value undef # OptionParser:2424 31125 Nothing to validate for option password type s value undef # OptionParser:2424 31125 Nothing to validate for option chunk-index-columns type i value undef # OptionParser:2424 31125 Nothing to validate for option pid type s value undef # OptionParser:2424 31125 Nothing to validate for option replicate type s value percona.checksums # OptionParser:2424 31125 Nothing to validate for option float-precision type i value undef # OptionParser:2424 31125 Nothing to validate for option user type s value undef # OptionParser:2424 31125 Nothing to validate for option chunk-time type f value 0.5 # OptionParser:2424 31125 Nothing to validate for option port type i value undef # OptionParser:2424 31125 Nothing to validate for option socket type s value undef # OptionParser:2375 31125 Parsing option check-interval as a time value # OptionParser:2380 31125 No suffix given; using s for check-interval (value: 1 ) # OptionParser:2389 31125 Setting option check-interval to 1 # OptionParser:2424 31125 Nothing to validate for option recurse type i value undef # OptionParser:2424 31125 Nothing to validate for option columns type a value undef # OptionParser:2375 31125 Parsing option max-lag as a time value # OptionParser:2389 31125 Setting option max-lag to 1 # OptionParser:2424 31125 Nothing to validate for option replicate-database type s value undef # OptionParser:2424 31125 Nothing to validate for option engines type h value undef # OptionParser:2424 31125 Nothing to validate for option retries type i value 2 # OptionParser:2424 31125 Nothing to validate for option function type s value undef # OptionParser:2424 31125 Nothing to validate for option run-time type m value undef # OptionParser:2424 31125 Nothing to validate for option databases-regex type s value undef # OptionParser:2424 31125 Nothing to validate for option replicate-check-retries type i value 1 # OptionParser:2424 31125 Nothing to validate for option plugin type s value undef # OptionParser:2424 31125 Nothing to validate for option tables-regex type s value undef # OptionParser:2424 31125 Nothing to validate for option chunk-size-limit type f value 2.0 # OptionParser:2424 31125 Nothing to validate for option where type s value 1=1 # OptionParser:2424 31125 Nothing to validate for option defaults-file type s value undef # OptionParser:2424 31125 Nothing to validate for option host type s value localhost # OptionParser:2424 31125 Nothing to validate for option separator type s value # # OptionParser:2818 31125 --set-vars: $VAR1 = { # innodb_lock_wait_timeout => { # default => 1, # val => '1' # }, # wait_timeout => { # default => 1, # val => '10000' # } # }; # # DSNParser:1405 31125 Setting set-vars property # OptionParser:2498 31125 Getting description and usage from SYNOPSIS in /usr/bin/pt-table-checksum # OptionParser:2751 31125 Parsing SYNOPSIS in /usr/bin/pt-table-checksum # OptionParser:2764 31125 Raw SYNOPSIS text: Usage: pt-table-checksum [OPTIONS] [DSN] # # pt-table-checksum performs an online replication consistency check by executing # checksum queries on the master, which produces different results on replicas # that are inconsistent with the master. The optional DSN specifies the master # host. The tool's L<"EXIT STATUS"> is non-zero if any differences are found, # or if any warnings or errors occur. # # # OptionParser:2502 31125 Description: pt-table-checksum performs an online replication consistency check by executing checksum queries on the master, which produces different results on replicas that are inconsistent with the master. The optional DSN specifies the master host. The tool's L<"EXIT STATUS"> is non-zero if any differences are found, or if any warnings or errors occur. # Usage: pt-table-checksum [OPTIONS] [DSN] # Daemon:7030 31125 Starting daemon # Daemon:7100 31125 Daemon running # DSNParser:1477 31125 DSN string made from options: h=localhost # DSNParser:1417 31125 Parsing h=localhost # DSNParser:1436 31125 Finding value for S # DSNParser:1446 31125 Copying value for S from defaults # DSNParser:1436 31125 Finding value for F # DSNParser:1446 31125 Copying value for F from defaults # DSNParser:1436 31125 Finding value for A # DSNParser:1446 31125 Copying value for A from defaults # DSNParser:1436 31125 Finding value for P # DSNParser:1446 31125 Copying value for P from defaults # DSNParser:1436 31125 Finding value for p # DSNParser:1446 31125 Copying value for p from defaults # DSNParser:1436 31125 Finding value for u # DSNParser:1446 31125 Copying value for u from defaults # DSNParser:1436 31125 Finding value for h # DSNParser:1436 31125 Finding value for D # DSNParser:1446 31125 Copying value for D from defaults # DSNParser:1436 31125 Finding value for t # DSNParser:1446 31125 Copying value for t from defaults # DSNParser:1417 31125 Parsing h=127.0.0.1,u=root,p=msandbox,P=21690 # DSNParser:1436 31125 Finding value for S # DSNParser:1446 31125 Copying value for S from defaults # DSNParser:1436 31125 Finding value for F # DSNParser:1446 31125 Copying value for F from defaults # DSNParser:1436 31125 Finding value for A # DSNParser:1446 31125 Copying value for A from defaults # DSNParser:1436 31125 Finding value for P # DSNParser:1436 31125 Finding value for p # DSNParser:1436 31125 Finding value for u # DSNParser:1436 31125 Finding value for h # DSNParser:1436 31125 Finding value for D # DSNParser:1446 31125 Copying value for D from defaults # DSNParser:1436 31125 Finding value for t # DSNParser:1446 31125 Copying value for t from defaults # DSNParser:1530 31125 DBI:mysql:;host=127.0.0.1;port=21690;mysql_read_default_group=client # DSNParser:1579 31125 DBI:mysql:;host=127.0.0.1;port=21690;mysql_read_default_group=client root msandbox mysql_enable_utf8=>0, ShowErrorStatement=>1, AutoCommit=>1, RaiseError=>1, PrintError=>0 # DSNParser:1738 31125 DBI::db=HASH(0x2ddebc0) SET SESSION innodb_lock_wait_timeout=1 # DSNParser:1738 31125 DBI::db=HASH(0x2ddebc0) SET SESSION wait_timeout=10000 # DSNParser:1628 31125 DBI::db=HASH(0x2ddebc0) SELECT @@SQL_MODE # DSNParser:1638 31125 DBI::db=HASH(0x2ddebc0) SET @@SQL_QUOTE_SHOW_CREATE = 1/*!40101, @@SQL_MODE='NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION'*/ # DSNParser:1647 31125 DBH info: DBI::db=HASH(0x2ddebc0) $VAR1 = { # '@@hostname' => 'sandbox', # 'CONNECTION_ID()' => '87', # 'DATABASE()' => undef, # 'VERSION()' => '5.6.25-73.1-log' # }; # Connection info: 127.0.0.1 via TCP/IP Character set info: $VAR1 = [ # { # Value => 'latin1', # Variable_name => 'character_set_client' # }, # { # Value => 'latin1', # Variable_name => 'character_set_connection' # }, # { # Value => 'latin1', # Variable_name => 'character_set_database' # }, # { # Value => 'binary', # Variable_name => 'character_set_filesystem' # }, # { # Value => 'latin1', # Variable_name => 'character_set_results' # }, # { # Value => 'latin1', # Variable_name => 'character_set_server' # }, # { # Value => 'utf8', # Variable_name => 'character_set_system' # }, # { # Value => '/home/user/binaries/5.6.25/share/charsets/', # Variable_name => 'character_sets_dir' # } # ]; # $DBD::mysql::VERSION: 4.013 $DBI::VERSION: 1.609 # Cxn:3597 31125 DBI::db=HASH(0x2ddebc0) Setting dbh # Cxn:3602 31125 DBI::db=HASH(0x2ddebc0) SELECT @@server_id /*!50038 , @@hostname*/ # Cxn:3604 31125 DBI::db=HASH(0x2ddebc0) hostname: sandbox 1 # pt_table_checksum:9182 31125 DBI::db=HASH(0x2ddebc0) SELECT @@SQL_MODE # pt_table_checksum:9189 31125 DBI::db=HASH(0x2ddebc0) SET SQL_MODE='NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION' # VersionParser:4210 31125 VersionParser got a dbh, trying to get the version # VersionParser:4258 31125 InnoDB support: DEFAULT # VersionParser:4270 31125 InnoDB version: 5.6.25-rel73.1 # pt_table_checksum:9204 31125 DBI::db=HASH(0x2ddebc0) SELECT @@binlog_format # pt_table_checksum:9206 31125 Original binlog_format: STATEMENT # pt_table_checksum:9237 31125 DBI::db=HASH(0x2ddebc0) SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ # Cxn:3585 31125 DBI::db=HASH(0x2ddebc0) Connected dbh to sandbox h=127.0.0.1,P=21690 # Percona::XtraDB::Cluster:3776 31125 sandbox SHOW VARIABLES LIKE 'wsrep_on' # Percona::XtraDB::Cluster:3778 31125 $VAR1 = undef; # # MasterSlave:5074 31125 Port number is non-standard; using only hosts method # MasterSlave:5074 31125 Port number is non-standard; using only hosts method # MasterSlave:5090 31125 Recursion methods: hosts # MasterSlave:5100 31125 Connected to P=21690,h=127.0.0.1,p=...,u=root # MasterSlave:5109 31125 SELECT @@SERVER_ID # MasterSlave:5111 31125 Working on server ID 1 # MasterSlave:5144 31125 Looking for slaves on P=21690,h=127.0.0.1,p=...,u=root using methods hosts # MasterSlave:5151 31125 Finding slaves with _find_slaves_by_hosts # MasterSlave:5185 31125 DBI::db=HASH(0x2ddebc0) SHOW SLAVE HOSTS # MasterSlave:5189 31125 Found some SHOW SLAVE HOSTS info # DSNParser:1417 31125 Parsing h=SBslave1,P=21691 # DSNParser:1436 31125 Finding value for S # DSNParser:1446 31125 Copying value for S from defaults # DSNParser:1436 31125 Finding value for F # DSNParser:1446 31125 Copying value for F from defaults # DSNParser:1436 31125 Finding value for A # DSNParser:1446 31125 Copying value for A from defaults # DSNParser:1436 31125 Finding value for P # DSNParser:1436 31125 Finding value for p # DSNParser:1442 31125 Copying value for p from previous DSN # DSNParser:1436 31125 Finding value for u # DSNParser:1442 31125 Copying value for u from previous DSN # DSNParser:1436 31125 Finding value for h # DSNParser:1436 31125 Finding value for D # DSNParser:1446 31125 Copying value for D from defaults # DSNParser:1436 31125 Finding value for t # DSNParser:1446 31125 Copying value for t from defaults # MasterSlave:5156 31125 Found 1 slaves # MasterSlave:5133 31125 Recursing from P=21690,h=127.0.0.1,p=...,u=root to P=21691,h=SBslave1,p=...,u=root # MasterSlave:5074 31125 Port number is non-standard; using only hosts method # MasterSlave:5090 31125 Recursion methods: hosts # DSNParser:1530 31125 DBI:mysql:;host=SBslave1;port=21691;mysql_read_default_group=client # DSNParser:1579 31125 DBI:mysql:;host=SBslave1;port=21691;mysql_read_default_group=client root msandbox mysql_enable_utf8=>0, ShowErrorStatement=>1, AutoCommit=>1, RaiseError=>1, PrintError=>0 # DSNParser:1738 31125 DBI::db=HASH(0x2debba0) SET SESSION innodb_lock_wait_timeout=1 # DSNParser:1738 31125 DBI::db=HASH(0x2debba0) SET SESSION wait_timeout=10000 # DSNParser:1628 31125 DBI::db=HASH(0x2debba0) SELECT @@SQL_MODE # DSNParser:1638 31125 DBI::db=HASH(0x2debba0) SET @@SQL_QUOTE_SHOW_CREATE = 1/*!40101, @@SQL_MODE='NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION'*/ # DSNParser:1647 31125 DBH info: DBI::db=HASH(0x2debba0) $VAR1 = { # '@@hostname' => 'sandbox', # 'CONNECTION_ID()' => '47', # 'DATABASE()' => undef, # 'VERSION()' => '5.6.25-73.1-log' # }; # Connection info: SBslave1 via TCP/IP Character set info: $VAR1 = [ # { # Value => 'latin1', # Variable_name => 'character_set_client' # }, # { # Value => 'latin1', # Variable_name => 'character_set_connection' # }, # { # Value => 'latin1', # Variable_name => 'character_set_database' # }, # { # Value => 'binary', # Variable_name => 'character_set_filesystem' # }, # { # Value => 'latin1', # Variable_name => 'character_set_results' # }, # { # Value => 'latin1', # Variable_name => 'character_set_server' # }, # { # Value => 'utf8', # Variable_name => 'character_set_system' # }, # { # Value => '/home/user/binaries/5.6.25/share/charsets/', # Variable_name => 'character_sets_dir' # } # ]; # $DBD::mysql::VERSION: 4.013 $DBI::VERSION: 1.609 # MasterSlave:5100 31125 Connected to P=21691,h=SBslave1,p=...,u=root # MasterSlave:5109 31125 SELECT @@SERVER_ID # MasterSlave:5111 31125 Working on server ID 101 # MasterSlave:5043 31125 Found slave: P=21691,h=SBslave1,p=...,u=root # DSNParser:1477 31125 DSN string made from options: h=localhost # DSNParser:1417 31125 Parsing h=localhost # DSNParser:1436 31125 Finding value for S # DSNParser:1446 31125 Copying value for S from defaults # DSNParser:1436 31125 Finding value for F # DSNParser:1446 31125 Copying value for F from defaults # DSNParser:1436 31125 Finding value for A # DSNParser:1446 31125 Copying value for A from defaults # DSNParser:1436 31125 Finding value for P # DSNParser:1446 31125 Copying value for P from defaults # DSNParser:1436 31125 Finding value for p # DSNParser:1446 31125 Copying value for p from defaults # DSNParser:1436 31125 Finding value for u # DSNParser:1446 31125 Copying value for u from defaults # DSNParser:1436 31125 Finding value for h # DSNParser:1436 31125 Finding value for D # DSNParser:1446 31125 Copying value for D from defaults # DSNParser:1436 31125 Finding value for t # DSNParser:1446 31125 Copying value for t from defaults # Cxn:3597 31125 DBI::db=HASH(0x2debba0) Setting dbh # Cxn:3602 31125 DBI::db=HASH(0x2debba0) SELECT @@server_id /*!50038 , @@hostname*/ # Cxn:3604 31125 DBI::db=HASH(0x2debba0) hostname: sandbox 101 # Cxn:3585 31125 DBI::db=HASH(0x2debba0) Connected dbh to sandbox h=SBslave1,P=21691 # Percona::XtraDB::Cluster:3776 31125 sandbox SHOW VARIABLES LIKE 'wsrep_on' # Percona::XtraDB::Cluster:3778 31125 $VAR1 = undef; # # MasterSlave:5144 31125 Looking for slaves on P=21691,h=SBslave1,p=...,u=root using methods hosts # MasterSlave:5151 31125 Finding slaves with _find_slaves_by_hosts # MasterSlave:5185 31125 DBI::db=HASH(0x2debba0) SHOW SLAVE HOSTS # MasterSlave:5156 31125 Found 0 slaves # Cxn:3679 31125 sandbox SHOW VARIABLES LIKE 'wsrep_on' # Cxn:3666 31125 SELECT @@SERVER_ID # Cxn:3669 31125 Generated unique id for cluster: 1 # Cxn:3679 31125 sandbox SHOW VARIABLES LIKE 'wsrep_on' # Cxn:3666 31125 SELECT @@SERVER_ID # Cxn:3669 31125 Generated unique id for cluster: 101 # Cxn:3689 31125 Removing duplicates from sandbox sandbox # Cxn:3679 31125 sandbox SHOW VARIABLES LIKE 'wsrep_on' # Cxn:3666 31125 SELECT @@SERVER_ID # Cxn:3669 31125 Generated unique id for cluster: 1 # Cxn:3695 31125 Server ID for sandbox : 1 # Cxn:3679 31125 sandbox SHOW VARIABLES LIKE 'wsrep_on' # Cxn:3666 31125 SELECT @@SERVER_ID # Cxn:3669 31125 Generated unique id for cluster: 101 # Cxn:3695 31125 Server ID for sandbox : 101 # pt_table_checksum:9416 31125 1 slaves found # VersionParser:4210 31125 VersionParser got a dbh, trying to get the version # VersionParser:4258 31125 InnoDB support: DEFAULT # VersionParser:4270 31125 InnoDB version: 5.6.25-rel73.1 # VersionParser:4210 31125 VersionParser got a dbh, trying to get the version # VersionParser:4258 31125 InnoDB support: DEFAULT # VersionParser:4270 31125 InnoDB version: 5.6.25-rel73.1 # pt_table_checksum:9559 31125 Will check slave lag on all slaves # pt_table_checksum:9575 31125 Will check slave lag on sandbox # pt_table_checksum:9623 31125 Checking slave replication filters # MasterSlave:5327 31125 DBI::db=HASH(0x2debba0) SHOW MASTER STATUS # MasterSlave:5331 31125 binlog_do_db= executed_gtid_set= position=120 file=mysql-bin.000002 binlog_ignore_db= # MasterSlave:5303 31125 DBI::db=HASH(0x2debba0) SHOW SLAVE STATUS # MasterSlave:5629 31125 DBI::db=HASH(0x2debba0) SHOW VARIABLES LIKE 'slave_skip_errors' # pt_table_checksum:10859 31125 Checking --replicate table `percona`.`checksums` # pt_table_checksum:10868 31125 SHOW DATABASES LIKE 'percona' # pt_table_checksum:10883 31125 CREATE DATABASE IF NOT EXISTS `percona` /* pt-table-checksum */ # pt_table_checksum:11185 31125 use_repl_db # pt_table_checksum:11206 31125 USE `percona` # TableParser:4515 31125 Checking `percona`.`checksums` # TableParser:4521 31125 SHOW TABLES FROM `percona` LIKE 'checksums' # TableParser:4536 31125 Table percona checksums exists # pt_table_checksum:10940 31125 --replicate table exists: yes # pt_table_checksum:11232 31125 Creating --replicate table `percona`.`checksums` # pt_table_checksum:11240 31125 DBI::db=HASH(0x2ddebc0) CREATE TABLE IF NOT EXISTS `percona`.`checksums` ( # db CHAR(64) NOT NULL, # tbl CHAR(64) NOT NULL, # chunk INT NOT NULL, # chunk_time FLOAT NULL, # chunk_index VARCHAR(200) NULL, # lower_boundary TEXT NULL, # upper_boundary TEXT NULL, # this_crc CHAR(40) NOT NULL, # this_cnt INT NOT NULL, # master_crc CHAR(40) NULL, # master_cnt INT NULL, # ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, # PRIMARY KEY (db, tbl, chunk), # INDEX ts_db_tbl (ts, db, tbl) # ) ENGINE=InnoDB # pt_table_checksum:11018 31125 Checking if sandbox has repl table # TableParser:4515 31125 Checking `percona`.`checksums` # TableParser:4521 31125 SHOW TABLES FROM `percona` LIKE 'checksums' # TableParser:4536 31125 Table percona checksums exists # MySQLStatusWaiter:8446 31125 Parsing spec for max thresholds # MySQLStatusWaiter:8588 31125 Checking and setting values # pt_table_checksum:9742 31125 SHOW GLOBAL STATUS LIKE ? Threads_running # MySQLStatusWaiter:8604 31125 Wait if Threads_running >= 25 # MySQLStatusWaiter:8456 31125 Parsing spec for critical thresholds # VersionCheck:832 31125 FindBin::Bin: /usr/bin # VersionCheck:997 31125 SELECT CONCAT(@@hostname, @@port) # VersionCheck:1018 31125 MySQL instance: 8986070be5ea3c24feba0b58733e9d0c sandbox21690 $VAR1 = { # A => undef, # D => undef, # F => undef, # P => 21690, # S => undef, # h => '127.0.0.1', # p => 'msandbox', # t => undef, # u => 'root' # }; # # VersionCheck:997 31125 SELECT CONCAT(@@hostname, @@port) # VersionCheck:1018 31125 MySQL instance: d3532a621e95bda2405e0ccffd657d22 sandbox21691 $VAR1 = { # A => undef, # D => undef, # F => undef, # P => 21691, # S => undef, # h => 'SBslave1', # p => 'msandbox', # t => undef, # u => 'root' # }; # # VersionCheck:812 31125 Version check file percona-version-check in /tmp # VersionCheck:932 31125 Version check file /tmp/percona-version-check contents: 0,1461611326 # 0566aabf60028b20d96c7d4156f87870,1460411151 # 166958a05a61685d5d56315cc865c5fe,1458997153 # 73d1998b1c57607c218956c969769bc9,1456699344 # 73d74532af475483bcd1f1f41d1075a3,1458173559 # 807f682df5f1cb03a4a9993d672a28c6,1460411151 # 8986070be5ea3c24feba0b58733e9d0c,1461611326 # 943f3bd86b75870011e977cb184ed539,1454995131 # cc5e8417a397d08919300359f45ffddf,1461494588 # d3532a621e95bda2405e0ccffd657d22,1461611326 # d776d502108fecdbe72ecbb32f7c77fc,1461611326 # ff364b54c06795412d2cb224c1eb3446,1457515044 # VersionCheck:940 31125 Intsance 8986070be5ea3c24feba0b58733e9d0c last checked 1461611326 now 1461671092 diff 59766 hours until next check 7.40 # VersionCheck:940 31125 Intsance d3532a621e95bda2405e0ccffd657d22 last checked 1461611326 now 1461671092 diff 59766 hours until next check 7.40 # VersionCheck:940 31125 Intsance 0 last checked 1461611326 now 1461671092 diff 59766 hours until next check 7.40 # VersionCheck:860 31125 0 instances to check # RowChecksum:5915 31125 SELECT CRC32('test-string') # RowChecksum:5923 31125 Chosen hash func: CRC32 # RowChecksum:5963 31125 SELECT CRC32('a') bigint 10 # RowChecksum:5969 31125 crc_type: int length: 10 # Percona::XtraDB::Cluster:3776 31125 sandbox SHOW VARIABLES LIKE 'wsrep_on' # Percona::XtraDB::Cluster:3778 31125 $VAR1 = undef; # # SchemaIterator:7333 31125 Filter databases value: test # SchemaIterator:7329 31125 Filter ignore-tables value: percona checksums # SchemaIterator:7333 31125 Filter ignore-engines value: mrg_myisam # SchemaIterator:7333 31125 Filter ignore-engines value: federated # SchemaIterator:7353 31125 Schema object filters: $VAR1 = { # databases => { # test => 1 # }, # 'ignore-engines' => { # federated => 1, # mrg_myisam => 1 # }, # 'ignore-tables' => { # percona => { # checksums => 1 # } # } # }; # # SchemaIterator:7464 31125 Getting next schema object from dbh DBI::db=HASH(0x2ddebc0) # SchemaIterator:7468 31125 SHOW DATABASES # SchemaIterator:7546 31125 Database information_schema is a system database, ignoring # SchemaIterator:7563 31125 Database mysql is not in --databases list, ignoring # SchemaIterator:7563 31125 Database percona is not in --databases list, ignoring # SchemaIterator:7546 31125 Database performance_schema is a system database, ignoring # SchemaIterator:7474 31125 Found 1 databases # SchemaIterator:7481 31125 Next database: test # SchemaIterator:7487 31125 SHOW /*!50002 FULL*/ TABLES FROM `test` # SchemaIterator:7498 31125 Found 1 tables in database test # TableParser:4341 31125 /*!40101 SET @OLD_SQL_MODE := @@SQL_MODE, @@SQL_MODE := '', @OLD_QUOTE := @@SQL_QUOTE_SHOW_CREATE, @@SQL_QUOTE_SHOW_CREATE := 1 */ # TableParser:4346 31125 DBI::db=HASH(0x2ddebc0) USE `test` # TableParser:4350 31125 SHOW CREATE TABLE `test`.`t1` # TableParser:4360 31125 /*!40101 SET @@SQL_MODE := @OLD_SQL_MODE, @@SQL_QUOTE_SHOW_CREATE := @OLD_QUOTE */ # TableParser:4544 31125 Storage engine: InnoDB # TableParser:4392 31125 Table cols: `a`, `b` # TableParser:4544 31125 Storage engine: InnoDB # TableParser:4560 31125 Parsed key: PRIMARY KEY (`a`), # TableParser:4580 31125 PRIMARY key cols: `a` # TableParser:4602 31125 This key is the clustered key # TableParser:4560 31125 Parsed key: KEY `b` (`b`) # TableParser:4580 31125 b key cols: `b` # SchemaIterator:7387 31125 Next schema object: test t1 # RowChecksum:5810 31125 Checksum strat: $VAR1 = { # crc_type => 'int', # crc_width => 16, # func => 'CRC32', # opt_slice => undef # }; # # RowChecksum:5792 31125 Row checksum: CRC32(CONCAT_WS('#', `a`, `b`, CONCAT(ISNULL(`b`)))) # RowChecksum:5831 31125 Chunk checksum: COUNT(*) AS cnt, COALESCE(LOWER(CONV(BIT_XOR(CAST(CRC32(CONCAT_WS('#', `a`, `b`, CONCAT(ISNULL(`b`)))) AS UNSIGNED)), 10, 16)), 0) AS crc # NibbleIterator:6606 31125 EXPLAIN SELECT * FROM `test`.`t1` WHERE 1=1 # NibbleIterator:6608 31125 $VAR1 = { # extra => 'Using index', # id => '1', # key => 'b', # key_len => '6', # possible_keys => undef, # ref => undef, # rows => '95961', # select_type => 'SIMPLE', # table => 't1', # type => 'index' # }; # # NibbleIterator:6483 31125 One nibble: no # NibbleIterator:6521 31125 MySQL wants to use index b # NibbleIterator:6533 31125 Wanted index is a possible index # NibbleIterator:6551 31125 No PRIMARY or unique indexes; will use index with highest cardinality # NibbleIterator:6582 31125 SHOW INDEXES FROM `test`.`t1` WHERE Key_name = 'b' # NibbleIterator:6592 31125 Index b cardinality: 95961 # NibbleIterator:6571 31125 Best index: b # TableNibbler:4744 31125 Will ascend index b # TableNibbler:4756 31125 Will ascend columns b # TableNibbler:4767 31125 Will ascend, in ordinal position: 1 # NibbleIterator:6188 31125 Ascend params: $VAR1 = { # boundaries => { # '<' => '((((? IS NOT NULL AND `b` IS NULL) OR (`b` < ?))))', # '<=' => '(((? IS NULL OR `b` <= ?)))', # '>' => '((((? IS NULL AND `b` IS NOT NULL) OR (`b` > ?))))', # '>=' => '(((? IS NULL OR `b` >= ?)))' # }, # cols => [ # 'a', # 'b' # ], # index => 'b', # scols => [ # 'b', # 'b' # ], # slice => [ # 1, # 1 # ], # where => '((((? IS NULL AND `b` IS NOT NULL) OR (`b` > ?))))' # }; # # NibbleIterator:6201 31125 First lower boundary statement: SELECT /*!40001 SQL_NO_CACHE */ `b`, `b` FROM `test`.`t1` FORCE INDEX(`b`) WHERE 1=1 ORDER BY `b` LIMIT 1 /*first lower boundary*/ # NibbleIterator:6226 31125 Last upper boundary statement: SELECT /*!40001 SQL_NO_CACHE */ `b`, `b` FROM `test`.`t1` FORCE INDEX(`b`) WHERE 1=1 ORDER BY `b` DESC LIMIT 1 /*last upper boundary*/ # NibbleIterator:6237 31125 Upper boundary statement: SELECT /*!40001 SQL_NO_CACHE */ `b`, `b` FROM `test`.`t1` FORCE INDEX(`b`) WHERE (((? IS NULL OR `b` >= ?))) AND (1=1) ORDER BY `b` LIMIT ?, 2 /*next chunk boundary*/ # NibbleIterator:6250 31125 Nibble statement: REPLACE INTO `percona`.`checksums` (db, tbl, chunk, chunk_index, lower_boundary, upper_boundary, this_cnt, this_crc) SELECT ?, ?, ?, ?, ?, ?, COUNT(*) AS cnt, COALESCE(LOWER(CONV(BIT_XOR(CAST(CRC32(CONCAT_WS('#', `a`, `b`, CONCAT(ISNULL(`b`)))) AS UNSIGNED)), 10, 16)), 0) AS crc FROM `test`.`t1` FORCE INDEX(`b`) WHERE (((? IS NULL OR `b` >= ?))) AND (((? IS NULL OR `b` <= ?))) AND (1=1) /*checksum chunk*/ # NibbleIterator:6263 31125 Explain nibble statement: EXPLAIN SELECT COUNT(*) AS cnt, COALESCE(LOWER(CONV(BIT_XOR(CAST(CRC32(CONCAT_WS('#', `a`, `b`, CONCAT(ISNULL(`b`)))) AS UNSIGNED)), 10, 16)), 0) AS crc FROM `test`.`t1` FORCE INDEX(`b`) WHERE (((? IS NULL OR `b` >= ?))) AND (((? IS NULL OR `b` <= ?))) AND (1=1) /*explain checksum chunk*/ # NibbleIterator:6266 31125 Initial chunk size (LIMIT): 999 # OobNibbleIterator:6849 31125 Past lower statement: REPLACE INTO `percona`.`checksums` (db, tbl, chunk, chunk_index, lower_boundary, upper_boundary, this_cnt, this_crc) SELECT ?, ?, ?, ?, ?, ?, COUNT(*), '0' FROM `test`.`t1` FORCE INDEX(`b`) WHERE ((((? IS NOT NULL AND `b` IS NULL) OR (`b` < ?)))) AND (1=1) ORDER BY `b` /*past lower chunk*/ # OobNibbleIterator:6859 31125 Past lower statement: EXPLAIN SELECT COUNT(*), '0' FROM `test`.`t1` FORCE INDEX(`b`) WHERE ((((? IS NOT NULL AND `b` IS NULL) OR (`b` < ?)))) AND (1=1) ORDER BY `b` /*explain past lower chunk*/ # OobNibbleIterator:6866 31125 Past upper statement: REPLACE INTO `percona`.`checksums` (db, tbl, chunk, chunk_index, lower_boundary, upper_boundary, this_cnt, this_crc) SELECT ?, ?, ?, ?, ?, ?, COUNT(*), '0' FROM `test`.`t1` FORCE INDEX(`b`) WHERE ((((? IS NULL AND `b` IS NOT NULL) OR (`b` > ?)))) AND (1=1) ORDER BY `b` /*past upper chunk*/ # OobNibbleIterator:6876 31125 Past upper statement: EXPLAIN SELECT COUNT(*), '0' FROM `test`.`t1` FORCE INDEX(`b`) WHERE ((((? IS NULL AND `b` IS NOT NULL) OR (`b` > ?)))) AND (1=1) ORDER BY `b` /*explain past upper chunk*/ # OobNibbleIterator:6892 31125 Nibble past lower upper # OobNibbleIterator:6918 31125 Preparing out-of-bound statement handles # NibbleIterator:6618 31125 Preparing statement handles # NibbleIterator:6647 31125 First lower boundary: $VAR1 = [ # undef, # undef # ]; # # NibbleIterator:6663 31125 Next lower boundary: $VAR1 = [ # undef, # undef # ]; # # TableParser:4515 31125 Checking `test`.`t1` # TableParser:4521 31125 SHOW TABLES FROM `test` LIKE 't1' # TableParser:4536 31125 Table test t1 exists # TableParser:4341 31125 /*!40101 SET @OLD_SQL_MODE := @@SQL_MODE, @@SQL_MODE := '', @OLD_QUOTE := @@SQL_QUOTE_SHOW_CREATE, @@SQL_QUOTE_SHOW_CREATE := 1 */ # TableParser:4346 31125 DBI::db=HASH(0x2debba0) USE `test` # TableParser:4350 31125 SHOW CREATE TABLE `test`.`t1` # TableParser:4360 31125 /*!40101 SET @@SQL_MODE := @OLD_SQL_MODE, @@SQL_QUOTE_SHOW_CREATE := @OLD_QUOTE */ # TableParser:4544 31125 Storage engine: InnoDB # TableParser:4392 31125 Table cols: `a`, `b` # TableParser:4544 31125 Storage engine: InnoDB # TableParser:4560 31125 Parsed key: PRIMARY KEY (`a`), # TableParser:4580 31125 PRIMARY key cols: `a` # TableParser:4602 31125 This key is the clustered key # TableParser:4560 31125 Parsed key: KEY `b` (`b`) # TableParser:4580 31125 b key cols: `b` # IndexLength:8791 31125 SELECT /*!40001 SQL_NO_CACHE */ `b` FROM `test`.`t1` FORCE INDEX (`b`) WHERE `b` IS NOT NULL ORDER BY `b` LIMIT 1 /*key_len*/ # IndexLength:8758 31125 EXPLAIN SELECT /*!40001 SQL_NO_CACHE */ * FROM `test`.`t1` FORCE INDEX (`b`) WHERE `b` >= ? /*key_len*/ params: 1902-04-01 04:54:53 # IndexLength:8762 31125 Range scan: $VAR1 = { # extra => 'Using where; Using index', # id => '1', # key => 'b', # key_len => '6', # possible_keys => 'b', # ref => undef, # rows => '47980', # select_type => 'SIMPLE', # table => 't1', # type => 'range' # }; # # pt_table_checksum:11185 31125 use_repl_db # pt_table_checksum:11206 31125 USE `percona` # pt_table_checksum:10058 31125 DELETE FROM `percona`.`checksums` WHERE db = ? AND tbl = ? # pt_table_checksum:11185 31125 use_repl_db # pt_table_checksum:11206 31125 USE `test` # NibbleIterator:6318 31125 init callback returned 1 # pt_table_checksum:11271 31125 EXPLAIN SELECT /*!40001 SQL_NO_CACHE */ `b`, `b` FROM `test`.`t1` FORCE INDEX(`b`) WHERE (((? IS NULL OR `b` >= ?))) AND (1=1) ORDER BY `b` LIMIT ?, 2 /*next chunk boundary*/ params: undef undef 999 # pt_table_checksum:11281 31125 EXPLAIN plan: $VAR1 = { # extra => 'Using index', # id => '1', # key => 'b', # key_len => '6', # possible_keys => undef, # ref => undef, # rows => '1001', # select_type => 'SIMPLE', # table => 't1', # type => 'index' # }; # # NibbleIterator:6718 31125 next_boundaries callback returned 1 # OobNibbleIterator:6967 31125 Finish explain_first_lb_sth # OobNibbleIterator:6967 31125 Finish nibble_sth # OobNibbleIterator:6967 31125 Finish ub_sth # OobNibbleIterator:6967 31125 Finish past_lower_sth # OobNibbleIterator:6967 31125 Finish explain_past_lower_sth # OobNibbleIterator:6967 31125 Finish explain_past_upper_sth # OobNibbleIterator:6967 31125 Finish explain_nibble_sth # OobNibbleIterator:6967 31125 Finish explain_ub_sth # OobNibbleIterator:6967 31125 Finish past_upper_sth 04-26T14:44:53 Error checksumming table test.t1: Use of uninitialized value in join or string at /usr/bin/pt-table-checksum line 6727. # SchemaIterator:7464 31125 Getting next schema object from dbh DBI::db=HASH(0x2ddebc0) # SchemaIterator:7528 31125 No more tables in database test # SchemaIterator:7533 31125 No more databases # pt_table_checksum:10523 31125 Exit status 1 oktorun 1 have time 1 # Cxn:3712 31125 Destroying cxn # Cxn:3721 31125 DBI::db=HASH(0x2debba0) Disconnecting dbh on sandbox h=SBslave1,P=21691 # Cxn:3712 31125 Destroying cxn # Cxn:3721 31125 DBI::db=HASH(0x2ddebc0) Disconnecting dbh on sandbox h=127.0.0.1,P=21690 TS ERRORS DIFFS ROWS CHUNKS SKIPPED TIME TABLE 04-26T14:44:53 1 0 0 0 0 0.028 test.t1