Pt-table-checksum not compatible with MySQL 8.0.28?

Hi everyone,

I tried to use pt-table-checksum (3.3.1) for checking a MySQL 8.0.28 replication. All I get is this error message:

02-15T16:39:25 Error checksumming table schemaname.tablename: Error executing checksum query: Checksum query for table schemaname.tablename caused MySQL error 1287:
Level: Warning
Code: 1287
Message: Setting user variables within expressions is deprecated and will be removed in a future release. Consider alternatives: ‘SET variable=expression, …’, or ‘SELECT expression(s) INTO variables(s)’.
Query: REPLACE INTO percona.checksum6 (db, tbl, chunk, chunk_index, lower_boundary, upper_boundary, this_cnt, this_crc) SELECT ?, ?, ?, ?, ?, ?, COUNT(*) AS cnt, COALESCE(LOWER(CONCAT(LPAD(CONV(BIT_XOR(CAST(CONV(SUBSTRING(@crc, 1, 16), 16, 10) AS UNSIGNED)), 10, 16), 16, ‘0’), LPAD(CONV(BIT_XOR(CAST(CONV(SUBSTRING(@crc := MD5(CONCAT_WS( …

Call Parameters:

–recursion-method dsn=h=10.x.x.x,P=xxxx,D=percona,t=dsns6_dtidbs
–function MD5
-h 10.x.x.x --defaults-file=/etc/mysql/…cnf
–set-vars innodb_lock_wait_timeout=50
–tables …

Couldn’t find anything helpful in the manual or elsewhere. Is pt-table-checksum not compatible with 8.0?
And it’s only a warning, why would the tool need to abort on that?

Also, on a Debian 9.13 the Percona repository gives me toolkit version 3.3.1, but on a Debian 11 bullseye I only get 3.2.1-1 as “the newest version”. Is it supposed to be that way?

1 Like