MariaDB [(none)]> use percona;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [percona]> show tables;
+-------------------+
| Tables_in_percona |
+-------------------+
| checksums |
+-------------------+
1 row in set (0.00 sec)
[root@ip-172-31-25-91 ~]# perl -MDBD::mysql\ 9999
DBD::mysql version 9999 required--this is only version 4.013.
BEGIN failed--compilation aborted.
Only thing seemingly in common is that DBD::mysql is the same version across all systems
MariaDB [(none)]> show variables like '%version%';
+-------------------------+---------------------------------+
| Variable_name | Value |
+-------------------------+---------------------------------+
| innodb_version | 5.6.28-76.1 |
| protocol_version | 10 |
| slave_type_conversions | |
| version | 10.1.13-MariaDB |
| version_comment | MariaDB Server |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
| version_malloc_library | system jemalloc |
| version_ssl_library | OpenSSL 1.0.1e-fips 11 Feb 2013 |
| wsrep_patch_version | wsrep_25.13 |
+-------------------------+---------------------------------+
Database changed
MariaDB [percona]> show tables;
+-------------------+
| Tables_in_percona |
+-------------------+
| checksums |
| checksums |
+-------------------+
2 rows in set (0.00 sec)
I had been renaming hence the two tables
[root@hostname tmp]# perl -MDBD::mysql\ 9999
DBD::mysql version 9999 required--this is only version 4.013.
BEGIN failed--compilation aborted.
Linux hostname 2.6.32-504.12.2.el6.x86_64 #1 SMP Sun Feb 1 12:14:02 EST 2015 x86_64 x86_64 x86_64 GNU/Linux
From debugging the perl there is a trailing space in the table creation script
pt_table_checksum::create_repl_table(/usr/bin/pt-table-checksum:11282):
11282: if ( $EVAL_ERROR ) {
DB<68> x $sql
0 ' 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 DEFAULT CHARSET=utf8'
DB<69> s
pt_table_checksum::create_repl_table(/usr/bin/pt-table-checksum:11286):
11286: return;
In a different database server I get a different table
MariaDB [percona]> show tables;
+-------------------+
| Tables_in_percona |
+-------------------+
| checksums |
+-------------------+
1 row in set (0.00 sec)
MariaDB [percona]> drop table checksums;
ERROR 1051 (42S02): Unknown table 'percona.checksums'
MariaDB [percona]> show global variables like '%version%';
+-------------------------+---------------------------------+
| Variable_name | Value |
+-------------------------+---------------------------------+
| innodb_version | 5.6.30-76.3 |
| protocol_version | 10 |
| slave_type_conversions | |
| tokudb_version | 5.6.30-76.3 |
| version | 10.1.16-MariaDB |
| version_comment | MariaDB Server |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
| version_malloc_library | system jemalloc |
| version_ssl_library | OpenSSL 1.0.1e-fips 11 Feb 2013 |
| wsrep_patch_version | wsrep_25.13 |
+-------------------------+---------------------------------+
This also appears to be an issue with Redhat I notice that the client charset is latin1 on the last server and UTF8 on the others. I think this is the source of the random A in the name
AWS testbed 31-14-91. ap-southeast- 2.compute. internal 2.6.32- 642.11. 1.el6.x86_ 64 #1 SMP Wed Oct 26 10:25:23 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux
Linux ip-172-
+------ ------- ------- -----+- ------- ------- ------- ------- ----+ ------- ------- -----+- ------- ------- ------- ------- ----+ conversions | | compile_ machine | x86_64 | malloc_ library | system jemalloc | ------- ------- -----+- ------- ------- ------- ------- ----+
| Variable_name | Value |
+------
| innodb_version | 5.6.32-79.0 |
| protocol_version | 10 |
| slave_type_
| version | 10.1.19-MariaDB |
| version_comment | MariaDB Server |
| version_
| version_compile_os | Linux |
| version_
| version_ssl_library | OpenSSL 1.0.1e-fips 11 Feb 2013 |
| wsrep_patch_version | wsrep_25.16 |
+------
MariaDB [(none)]> use percona;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed ------- ------+ ------- ------+ ------- ------+
MariaDB [percona]> show tables;
+------
| Tables_in_percona |
+------
| checksums |
+------
1 row in set (0.00 sec)
[root@ip- 172-31- 25-91 ~]# perl -MDBD::mysql\ 9999
DBD::mysql version 9999 required--this is only version 4.013.
BEGIN failed--compilation aborted.
Only thing seemingly in common is that DBD::mysql is the same version across all systems
MariaDB [(none)]> show variables like '%char%'; ------- ------- ------+ ------- ------- ------- ------- + ------- ------- ------+ ------- ------- ------- ------- + set_client | utf8 | set_connection | utf8 | set_database | latin1 | set_filesystem | binary | set_results | utf8 | set_server | latin1 | set_system | utf8 | mysql/charsets/ | ------- ------- ------+ ------- ------- ------- ------- +
+------
| Variable_name | Value |
+------
| character_
| character_
| character_
| character_
| character_
| character_
| character_
| character_sets_dir | /usr/share/
+------
8 rows in set (0.00 sec)
Production Host with issue
MariaDB [(none)]> show variables like '%version%'; ------- ------- -----+- ------- ------- ------- ------- ----+ ------- ------- -----+- ------- ------- ------- ------- ----+ conversions | | compile_ machine | x86_64 | malloc_ library | system jemalloc | ------- ------- -----+- ------- ------- ------- ------- ----+
+------
| Variable_name | Value |
+------
| innodb_version | 5.6.28-76.1 |
| protocol_version | 10 |
| slave_type_
| version | 10.1.13-MariaDB |
| version_comment | MariaDB Server |
| version_
| version_compile_os | Linux |
| version_
| version_ssl_library | OpenSSL 1.0.1e-fips 11 Feb 2013 |
| wsrep_patch_version | wsrep_25.13 |
+------
Database changed ------- ------+ ------- ------+ ------- ------+
MariaDB [percona]> show tables;
+------
| Tables_in_percona |
+------
| checksums |
| checksums |
+------
2 rows in set (0.00 sec)
I had been renaming hence the two tables
MariaDB [(none)]> show variables like '%char%'; ------- ------- ------+ ------- ------- ------- ------- + ------- ------- ------+ ------- ------- ------- ------- + set_client | utf8 | set_connection | utf8 | set_database | latin1 | set_filesystem | binary | set_results | utf8 | set_server | latin1 | set_system | utf8 | mysql/charsets/ | ------- ------- ------+ ------- ------- ------- ------- +
+------
| Variable_name | Value |
+------
| character_
| character_
| character_
| character_
| character_
| character_
| character_
| character_sets_dir | /usr/share/
+------
[root@hostname tmp]# perl -MDBD::mysql\ 9999
DBD::mysql version 9999 required--this is only version 4.013.
BEGIN failed--compilation aborted.
Linux hostname 2.6.32- 504.12. 2.el6.x86_ 64 #1 SMP Sun Feb 1 12:14:02 EST 2015 x86_64 x86_64 x86_64 GNU/Linux
From debugging the perl there is a trailing space in the table creation script
pt_table_ checksum: :create_ repl_table( /usr/bin/ pt-table- checksum: 11282): .`checksums ` ( checksum: :create_ repl_table( /usr/bin/ pt-table- checksum: 11286):
11282: if ( $EVAL_ERROR ) {
DB<68> x $sql
0 ' CREATE TABLE IF NOT EXISTS `percona`
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 DEFAULT CHARSET=utf8'
DB<69> s
pt_table_
11286: return;
In a different database server I get a different table
MariaDB [percona]> show tables; ------- ------+ ------- ------+ ------- ------+
+------
| Tables_in_percona |
+------
| checksums |
+------
1 row in set (0.00 sec)
MariaDB [percona]> drop table checksums; ------- ------- -----+- ------- ------- ------- ------- ----+ ------- ------- -----+- ------- ------- ------- ------- ----+ conversions | | compile_ machine | x86_64 | malloc_ library | system jemalloc | ------- ------- -----+- ------- ------- ------- ------- ----+
ERROR 1051 (42S02): Unknown table 'percona.checksums'
MariaDB [percona]> show global variables like '%version%';
+------
| Variable_name | Value |
+------
| innodb_version | 5.6.30-76.3 |
| protocol_version | 10 |
| slave_type_
| tokudb_version | 5.6.30-76.3 |
| version | 10.1.16-MariaDB |
| version_comment | MariaDB Server |
| version_
| version_compile_os | Linux |
| version_
| version_ssl_library | OpenSSL 1.0.1e-fips 11 Feb 2013 |
| wsrep_patch_version | wsrep_25.13 |
+------
MariaDB [percona]> show global variables like '%char%'; ------- ------- ------+ ------- ------- ------- ------- + ------- ------- ------+ ------- ------- ------- ------- + set_client | latin1 | set_connection | latin1 | set_database | latin1 | set_filesystem | binary | set_results | latin1 | set_server | latin1 | set_system | utf8 | mysql/charsets/ | ------- ------- ------+ ------- ------- ------- ------- +
+------
| Variable_name | Value |
+------
| character_
| character_
| character_
| character_
| character_
| character_
| character_
| character_sets_dir | /usr/share/
+------
8 rows in set (0.00 sec)
This also appears to be an issue with Redhat I notice that the client charset is latin1 on the last server and UTF8 on the others. I think this is the source of the random A in the name