мы используем перконовый кластер 5.7.20
моя конфигурация wsrep.
max_connections = 10000
open_files_limit = 32768
wsrep_sync_wait=1
wsrep_causal_reads=ON
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
wsrep_provider_options="pc.ignore_quorum=true;pc.ignore_sb=true;gcache.size=2G; gcache.page_size=1G;gcs.fc_limit = 256; gcs.fc_factor = 0.99;"wsrep_slave_threads=32
[sst]
inno-apply-opts="--use-memory=8G"compressor="pigz"decompressor="pigz -d"
я сделал тест для репликации синхронизации через код теста php 7.
https://github.com/ureyni/percona_replicationtest
вставить значение в узел 1 с транзакцией.
после выполнения коммита выполните запрос выбора с некоторым значением на узле 2, если данные не найдены, запрос exec на узле 3.
Тест не был успешным.
Зачем? Я не понимаю, потому что
все документы в интернете говорят, что это синхронно.
пожалуйста помоги.
Сначала я бы проверил, что узлы фактически сформировали кластер.
Подключитесь к любому из узлов и выполните следующий запрос
show status like 'wsrep_%';
Если все 3 узла подключены, вы должны увидеть что-то вроде следующего
mysql> show status like 'wsrep%';
+----------------------------+--------------------------------------+
| Variable_name | Value |
+----------------------------+--------------------------------------+
| wsrep_local_state_uuid | b598af3e-ace3-11e2-0800-3e90eb9cd5d3 |
...
| wsrep_local_state | 4 |
| wsrep_local_state_comment | Synced |
...
| wsrep_cluster_size | 3 |
| wsrep_cluster_status | Primary |
| wsrep_connected | ON |
...
| wsrep_ready | ON |
+----------------------------+--------------------------------------+
Если wsrep_ready
ВЫКЛ, то узел не был правильно инициализирован. Вы можете проверить журналы, чтобы увидеть, произошла ли ошибка.
Если wsrep_cluster_size
равен 1, то кластер не был сформирован. Узел действует автономно. Первое, что нужно проверить, это посмотреть, wsrep_cluster_address
переменная была установлена правильно. Это из документов
wsrep_cluster_address
Укажите IP-адреса узлов в вашем кластере. По крайней мере один
требуется, чтобы узел присоединился к кластеру, но рекомендуется
список адресов всех узлов. Таким образом, если первый узел в списке
недоступен, присоединяющийся узел может использовать другие адреса.
Для получения дополнительной информации лучше всего посмотреть на
https://www.percona.com/doc/percona-xtradb-cluster/5.7/configure.html
Других решений пока нет …