Слейв создаю с мастера так
for SLAVE_HOST in "${SLAVE_HOSTS[@]}"
do
echo "SLAVE: $SLAVE_HOST"
echo " - Create server_id"
SERVERID=`date '+%s'`
ssh $SLAVE_HOST "echo server_id=$SERVERID >> /etc/mysql/my.cnf"
mysql -h $SLAVE_HOST "-P$SPORT" "-u$REPLICA_USER" "-p$REPLICA_PASS" $DB <<-EOSQL &
SET GLOBAL server_id=$SERVERID;
EOSQL
echo " - Creating database copy"
mysql -h $SLAVE_HOST "-P$SPORT" "-u$REPLICA_USER" "-p$REPLICA_PASS" -e "DROP DATABASE IF EXISTS $DB; CREATE DATABASE $DB;"
scp $DUMP_FILE $SLAVE_HOST:$DUMP_FILE >/dev/null
mysql -h $SLAVE_HOST "-P$SPORT" "-u$REPLICA_USER" "-p$REPLICA_PASS" $DB < $DUMP_FILE
echo " - Setting up slave replication"
mysql -h $SLAVE_HOST "-P$SPORT" "-u$REPLICA_USER" "-p$REPLICA_PASS" $DB <<-EOSQL &
STOP SLAVE;
CHANGE MASTER TO MASTER_HOST='0.0.0.0',
MASTER_PORT=$MPORT,
MASTER_USER='$REPLICA_USER',
MASTER_PASSWORD='$REPLICA_PASS',
MASTER_LOG_FILE='$LOG_FILE',
MASTER_LOG_POS=$LOG_POS;
START SLAVE;
EOSQL
# Wait for slave to get started and have the correct status
sleep 2
# Check if replication status is OK
SLAVE_OK=$(mysql -h $SLAVE_HOST "-P$SPORT" "-u$REPLICA_USER" "-p$REPLICA_PASS" -e "SHOW SLAVE STATUS\G;" | grep 'Waiting for master')
if [ -z "$SLAVE_OK" ]; then
echo " - Error ! Wrong slave IO state."
else
echo " - Slave IO state OK"
fi
done
Всё прекрасно залетает в конец my.cnf на слейве пишет запись вроде
server_id=1601962227
Однако при рестарте слейва, ид скидываеться до единицы ломая репликацию и хоть тресни, в конфигах mariadb больше нигде нет serve_id=1.
ОС Debian 10
Помогите пожалуйста