Comment 8 for bug 1381280

Revision history for this message
Valerii Kravchuk (valerii-kravchuk) wrote :

This is easy to reproduce (tbin/sql will be uploaded later).

1. Make sure you have default-character-set=utf8 for clients, like this:

[openxs@chief p5.6]$ cat ~/.my.cnf
[client]
default-character-set=utf8

2. Make sure there is no percona database.
3. Load data:

[openxs@chief p5.6]$ bin/mysql --no-defaults -uroot test </tmp/tbin.sql [openxs@chief p5.6]$ bin/mysql --no-defaults -uroot test
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 27
Server version: 5.6.21-69.0 MySQL Community Server (GPL)

Copyright (c) 2009-2014 Percona LLC and/or its affiliates
Copyright (c) 2000, 2014, 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.

mysql> select count(*) from tbin;
+----------+
| count(*) |
+----------+
| 8192 |
+----------+
1 row in set (0.01 sec)

mysql> exit
Bye

Try to use pt-table-checksum:

[openxs@chief p5.6]$ pt-table-checksum u=root,P=3306,h=127.0.0.1
            TS ERRORS DIFFS ROWS CHUNKS SKIPPED TIME TABLE
10-22T09:36:54 0 0 0 1 0 0.142 mysql.columns_priv
10-22T09:36:54 0 0 2 1 0 0.165 mysql.db
10-22T09:36:54 0 0 0 1 0 0.165 mysql.event
10-22T09:36:55 0 0 0 1 0 0.124 mysql.func
10-22T09:36:55 0 0 40 1 0 0.124 mysql.help_category
10-22T09:36:55 0 0 485 1 0 0.123 mysql.help_keyword
10-22T09:36:55 0 0 1090 1 0 0.123 mysql.help_relation
10-22T09:36:55 0 0 533 1 0 0.124 mysql.help_topic
10-22T09:36:55 0 0 18 1 0 0.165 mysql.innodb_index_stats
10-22T09:36:55 0 0 2 1 0 0.124 mysql.innodb_table_stats
10-22T09:36:55 0 0 0 1 0 0.123 mysql.ndb_binlog_index
10-22T09:36:56 0 0 0 1 0 0.133 mysql.plugin
10-22T09:36:56 0 0 0 1 0 0.131 mysql.proc
10-22T09:36:56 0 0 0 1 0 0.132 mysql.procs_priv
10-22T09:36:56 0 0 2 1 0 0.132 mysql.proxies_priv
10-22T09:36:56 0 0 0 1 0 0.141 mysql.servers
10-22T09:36:56 0 0 0 1 0 0.148 mysql.slave_master_info
10-22T09:36:56 0 0 0 1 0 0.149 mysql.slave_relay_log_info
10-22T09:36:57 0 0 0 1 0 0.140 mysql.slave_worker_info
10-22T09:36:57 0 0 0 1 0 0.123 mysql.tables_priv
10-22T09:36:57 0 0 0 1 0 0.125 mysql.time_zone
10-22T09:36:57 0 0 0 1 0 0.366 mysql.time_zone_leap_second
10-22T09:36:57 0 0 0 1 0 0.132 mysql.time_zone_name
10-22T09:36:57 0 0 0 1 0 0.124 mysql.time_zone_transition
10-22T09:36:58 0 0 0 1 0 0.124 mysql.time_zone_transition_type
10-22T09:36:58 0 0 6 1 0 0.130 mysql.user
10-22T09:36:58 Error checksumming table test.tbin: Error executing checksum query: Checksum query for table test.tbin caused MySQL error 1366:
    Level: Warning
     Code: 1366
  Message: Incorrect string value: '\x82\\x82\\x82\...' for column 'lower_boundary' at row 4097
    Query: 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('#', `id`, `c1`, CONCAT(ISNULL(`id`), ISNULL(`c1`)))) AS UNSIGNED)), 10, 16)), 0) AS crc FROM `test`.`tbin` FORCE INDEX(`c1`) WHERE (((? IS NULL OR `c1` >= ?))) AND (((? IS NULL OR `c1` <= ?))) /*checksum chunk*/

10-22T09:36:58 1 0 0 1 0 0.114 test.tbin

Making columns for upper and lower boundary blobs helps.