Please provide the following details.
- Operating System: Linux (CentOS 7)
- PHP Version: 7.4.9
- php-mysql-replication Version: 6.2
- mysql version: 5.7.30-33-57-log Percona XtraDB Cluster (GPL), Release rel33, Revision 5dd6d59, WSREP version 31.43, wsrep_31.43
Steps required to reproduce the problem.
- Test example/dump_events.php
Expected Result.
- output of mysql DB events.
Actual Result.
- only heartbeat events returned.
I've tested this same solution on my local system using a regular install of MySQL. When I moved to test on my production system, the events are not propagating as expected. My concern is that the version of Percona Cluster we're using is at fault, and I'm curious if there are any ideas on how to address.
We have a 3 node cluster. I'm attempting to run the php-mysql-replication application on our 3rd node.
I've added the server config (of the node that is not working) below for reference:
mysql> SHOW variables WHERE variable_name LIKE "%binlog%";
+--------------------------------------------+----------------------+
| Variable_name | Value |
+--------------------------------------------+----------------------+
| binlog_cache_size | 32768 |
| binlog_checksum | CRC32 |
| binlog_direct_non_transactional_updates | OFF |
| binlog_error_action | ABORT_SERVER |
| binlog_format | ROW |
| binlog_group_commit_sync_delay | 0 |
| binlog_group_commit_sync_no_delay_count | 0 |
| binlog_gtid_simple_recovery | ON |
| binlog_max_flush_queue_time | 0 |
| binlog_order_commits | ON |
| binlog_row_image | FULL |
| binlog_rows_query_log_events | OFF |
| binlog_skip_flush_commands | OFF |
| binlog_space_limit | 0 |
| binlog_stmt_cache_size | 32768 |
| binlog_transaction_dependency_history_size | 25000 |
| binlog_transaction_dependency_tracking | COMMIT_ORDER |
| encrypt_binlog | OFF |
| have_backup_safe_binlog_info | YES |
| innodb_api_enable_binlog | OFF |
| innodb_locks_unsafe_for_binlog | OFF |
| log_statements_unsafe_for_binlog | ON |
| max_binlog_cache_size | 18446744073709547520 |
| max_binlog_files | 0 |
| max_binlog_size | 1073741824 |
| max_binlog_stmt_cache_size | 18446744073709547520 |
| sync_binlog | 1 |
| wsrep_forced_binlog_format | NONE |
+--------------------------------------------+----------------------+
28 rows in set (0.00 sec)
mysql> SHOW variables WHERE variable_name LIKE "server_%";
+----------------+--------------------------------------+
| Variable_name | Value |
+----------------+--------------------------------------+
| server_id | 3 |
| server_id_bits | 32 |
| server_uuid | 4fe64515-be6b-11e9-8e7f-026f00293d26 |
+----------------+--------------------------------------+
3 rows in set (0.00 sec)
When the application is run, I only receive heartbeat events, even though I am 100% other activity is happening across the cluster (I do occasionally get "format description" events, but I'm not terribly sure what these are for). I have yet to see any of the important events like updates, writes, or deletes.
{
"type": "format description",
"eventInfo": {
"timestamp": 1598513185,
"type": 15,
"id": 3,
"size": 119,
"pos": 0,
"flag": 0,
"checkSum": true,
"sizeNoHeader": null,
"dateTime": null,
"binLogCurrent": {
"binLogPosition": 11890,
"binFileName": "mysql-bin.000016",
"gtid": null,
"mariaDbGtid": null
}
},
"subject": null,
"arguments": null
}{
"type": "heartbeat",
"eventInfo": {
"timestamp": 0,
"type": 27,
"id": 3,
"size": 39,
"pos": 11890,
"flag": 0,
"checkSum": true,
"sizeNoHeader": null,
"dateTime": null,
"binLogCurrent": {
"binLogPosition": 11890,
"binFileName": "mysql-bin.000016",
"gtid": null,
"mariaDbGtid": null
}
},
"subject": null,
"arguments": null
}{
"type": "heartbeat",
"eventInfo": {
"timestamp": 0,
"type": 27,
"id": 3,
"size": 39,
"pos": 11890,
"flag": 0,
"checkSum": true,
"sizeNoHeader": null,
"dateTime": null,
"binLogCurrent": {
"binLogPosition": 11890,
"binFileName": "mysql-bin.000016",
"gtid": null,
"mariaDbGtid": null
}
},
"subject": null,
"arguments": null
}
EDIT: additional note; it looks like that each heartbeat event is identical while the application is running. The binlog position and file never changes. Not sure if this is helpful information or not, but thought I should include it.