Size: a a a

2021 October 13

YN

Yevhen Nedaskivskyi in MySQL
Реплику полностью. Удаляем базу, она неконсистентна
источник

DR

Daniyar R in MySQL
Понятно, Спасибо.
источник

IZ

Ilia Zviagin in MySQL
Скип нельзя делать, все разьедется...
источник

IZ

Ilia Zviagin in MySQL
Проверь что схемы одинаковые
источник

ДС

Дмитрий Стародубцев... in MySQL
Коллеги, добрый день.

Пытаюсь создать галера кластер в докере. Запустил на одной ноде, но вторая не хочет подключаться.
Лог со второй машины:
2021-10-12 19:16:00 0 [ERROR] WSREP: Failed to read 'ready <addr>' from: wsrep_sst_xtrabackup-v2 --role 'joiner' --address '10.77.250.26' --datadir '/var/lib/mysql/' --parent '1' --mysqld-args --wsrep_cluster_address=gcomm://10.77.250.25,10.77.250.26,10.77.250.27 --wsrep_sst_auth=root:testcloud --wsrep_node_address=10.77.250.26
 Read: '(null)'
2021-10-12 19:16:00 0 [ERROR] WSREP: Process completed with error: wsrep_sst_xtrabackup-v2 --role 'joiner' --address '10.77.250.26' --datadir '/var/lib/mysql/' --parent '1' --mysqld-args --wsrep_cluster_address=gcomm://10.77.250.25,10.77.250.26,10.77.250.27 --wsrep_sst_auth=root:testcloud --wsrep_node_address=10.77.250.26: 2 (No such file or directory)
2021-10-12 19:16:00 1 [ERROR] WSREP: Failed to prepare for 'xtrabackup-v2' SST. Unrecoverable.
2021-10-12 19:16:00 1 [ERROR] WSREP: SST request callback failed. This is unrecoverable, restart required.

На первой ноде в логе ошибок нет, последние строчки вот такие:
2021-10-13  5:12:53 1 [Note] WSREP: wsrep_notify_cmd is not defined, skipping notification.
2021-10-13  5:12:53 1 [Note] WSREP: Lowest cert index boundary for CC from group: 15600
2021-10-13  5:12:53 1 [Note] WSREP: Min available from gcache for CC from group: 1
2021-10-13  5:12:53 0 [Note] WSREP: Deferred close timer destruct
2021-10-13  5:12:55 0 [Note] WSREP: (b6c0162d-8f88, 'tcp://0.0.0.0:4567') turning message relay requesting off
2021-10-13  5:12:59 0 [Note] WSREP:  cleaning up 3774d0f8-b2ca (tcp://10.77.250.26:4567)

Основная тачка создавалась вот так:
docker run -d \
       --name mariadb \
       --hostname mariadb0 \
       --publish "3306" \
       --publish "4444" \
       --publish "4567" \
       --publish "4568" \
       --env MYSQL_ROOT_PASSWORD="testcloud" \
       --env MYSQL_USER=proxysql \
       --env MYSQL_PASSWORD=proxysqlpassword \
       --volume /var/lib/mysql/:/var/lib/mysql \
       --volume /etc/mysql/:/etc/mysql/ \
       mariadb:10.5.9 \
       --wsrep_cluster_address=gcomm://10.77.250.25,10.77.250.26,10.77.250.27 \
       --wsrep_sst_auth="root:testcloud" \
       --wsrep_node_address=10.77.250.25 \
       --wsrep-new-cluster

Вторая нода запускается так же, только без wsrep-new-cluster и node_address там .26 и другой hostname

Помогите пожалуйста
источник

s

svart in MySQL
пропускать запросы нельзя. с большой долей вероятности это сделает базу неконсистентной. вам нужно: 1) найти в бинлоге запрос, который дает ошибку. в запросе найти id из родительской таблицы. принести с мастера запись в вставить в родительскую таблицу. стартануть реплику (ничего не пропускать). 2) возможно процедуру придется повторить несколько раз, если у вас в транзакции было несколько запросов и у части из них такая же или другая ошибка. 3) после того как репликацию почините нужно запустить pt-table-checksum и проверить есьть ли у вас еще где-то unconsistency. почините их pt-table-sync если сможете (если не сможете, тогда ребилд). перед тем как запускать любую из этих двух утилит нужно внимательно прочитать доки по ним. 4) запускайте pt-table-checksum периодически, результаты в метрики, на метрики повесьте алерты.
источник

s

svart in MySQL
зачем вы используете xtrabackup, если у вас mariadb? нужно поменять sst_method (и не забудьте паставить пакет соответствующий поставить). ну и опять же смотрите логи. только на этот раз вам нужн смотреть не только error.log, но и логи sst
источник

ДС

Дмитрий Стародубцев... in MySQL
Нашёл единственный мануал для такой конфигурации 😢. Я так понимаю sst_method надо попробовать rsync?
Sst лог нигде не видел. Его нужно указать в my.cnf, чтобы он появился?
источник

ДС

Дмитрий Стародубцев... in MySQL
https://www.binlogic.io/blog/galera-cluster-docker/ вот по этому мануалу делал. Только без weave
источник

s

svart in MySQL
mariabackup нужно сделать.  да в конфиге.
источник

ДС

Дмитрий Стародубцев... in MySQL
Спасибо! Чуть позже попробую
источник

ZM

Zamil Mastaliyev in MySQL
Здравствуйте
источник

ZM

Zamil Mastaliyev in MySQL
как наклеит дату на оутфайл ,
источник

ZM

Zamil Mastaliyev in MySQL
?
источник

ZM

Zamil Mastaliyev in MySQL
select * from table into outfile '/tmp/file-$(date).txt';
источник

ZM

Zamil Mastaliyev in MySQL
не заработала так
источник

G

Grigorij in MySQL
Ну это же не баш)
источник

ZM

Zamil Mastaliyev in MySQL
да а каким образом можно сделать?
источник

G

Grigorij in MySQL
Через prepare statemant попробуй
источник

G

Grigorij in MySQL
Смотри, чуть ли не первая ссылка с примерами
источник