PNG  IHDR  8] PLTE S =tRNS   PNG  IHDR  8] PLTE S =tRNS   REDROOM
PHP 7.4.33
Preview: wsrep_notify Size: 4.87 KB
/usr/share/mysql/wsrep_notify

#!/usr/bin/sh -eu

# This is a simple example of wsrep notification script (wsrep_notify_cmd).
# It will create 'wsrep' schema and two tables in it: 'membeship' and 'status'
# and fill them on every membership or node status change.
#
# Edit parameters below to specify the address and login to server:
#
USER='root'
PSWD='rootpass'
#
# If these parameters are not set, then the values
# passed by the server are taken:
#
HOST="127.0.0.1"
PORT=3306
#
# Edit parameters below to specify SSL parameters:
#
ssl_cert=""
ssl_key=""
ssl_ca=""
ssl_capath=""
ssl_cipher=""
ssl_crl=""
ssl_crlpath=""
ssl_verify_server_cert=0
#
# Client executable path:
#
CLIENT="mysql"
#
# Name of schema and tables:
#
SCHEMA="wsrep"
MEMB_TABLE="$SCHEMA.membership"
STATUS_TABLE="$SCHEMA.status"

WSREP_ON='SET wsrep_on=ON'
WSREP_OFF='SET wsrep_on=OFF'

BEGIN="CREATE SCHEMA IF NOT EXISTS $SCHEMA;
CREATE TABLE IF NOT EXISTS $MEMB_TABLE (
    idx  INT UNIQUE PRIMARY KEY,
    uuid CHAR(40) UNIQUE, /* node UUID */
    name VARCHAR(32),     /* node name */
    addr VARCHAR(256)     /* node address */
) ENGINE=MEMORY;
CREATE TABLE IF NOT EXISTS $STATUS_TABLE (
    size   INT,      /* component size   */
    idx    INT,      /* this node index  */
    status CHAR(16), /* this node status */
    uuid   CHAR(40), /* cluster UUID */
    prim   BOOLEAN   /* if component is primary */
) ENGINE=MEMORY;
BEGIN"
END="COMMIT; $WSREP_ON"

configuration_change()
{
    echo "$WSREP_OFF; DROP SCHEMA IF EXISTS $SCHEMA; $BEGIN;"

    local idx=0

    for NODE in $(echo "$MEMBERS" | sed s/,/\ /g)
    do
        echo "INSERT INTO $MEMB_TABLE VALUES ( $idx, "
        # Don't forget to properly quote string values
        echo "'$NODE'" | sed  s/\\//\',\'/g
        echo ");"
        idx=$(( $idx+1 ))
    done

    echo "INSERT INTO $STATUS_TABLE VALUES($idx, $INDEX, '$STATUS', '$CLUSTER_UUID', $PRIMARY);"

    echo "$END;"
}

status_update()
{
    echo "$WSREP_OFF; $BEGIN; UPDATE $STATUS_TABLE SET status='$STATUS'; $END;"
}

trim_string()
{
    if [ -n "${BASH_VERSION:-}" ]; then
        local pattern="[![:space:]${2:-}]"
        local x="${1#*$pattern}"
        local z=${#1}
        x=${#x}
        if [ $x -ne $z ]; then
            local y="${1%$pattern*}"
            y=${#y}
            x=$(( z-x-1 ))
            y=$(( y-x+1 ))
            printf '%s' "${1:$x:$y}"
        else
            printf ''
        fi
    else
        local pattern="[[:space:]${2:-}]"
        echo "$1" | sed -E "s/^$pattern+|$pattern+\$//g"
    fi
}

COM='status_update' # not a configuration change by default

STATUS=""
CLUSTER_UUID=""
PRIMARY=0
INDEX=""
MEMBERS=""

while [ $# -gt 0 ]; do
    case $1 in
    '--status')
        STATUS=$(trim_string "$2")
        shift
        ;;
    '--uuid')
        CLUSTER_UUID=$(trim_string "$2")
        shift
        ;;
    '--primary')
        arg=$(trim_string "$2")
        [ "$arg" = 'yes' ] && PRIMARY=1 || PRIMARY=0
        COM='configuration_change'
        shift
        ;;
    '--index')
        INDEX=$(trim_string "$2")
        shift
        ;;
    '--members')
        MEMBERS=$(trim_string "$2")
        shift
        ;;
    esac
    shift
done

USER=$(trim_string "$USER")
PSWD=$(trim_string "$PSWD")

HOST=$(trim_string "$HOST")
PORT=$(trim_string "$PORT")

case "$HOST" in
\[*)
    HOST="${HOST##\[}"
    HOST=$(trim_string "${HOST%%\]}")
    ;;
esac

if [ -z "$HOST" ]; then
    HOST="${NOTIFY_HOST:-}"
fi
if [ -z "$PORT" ]; then
    PORT="${NOTIFY_PORT:-}"
fi

ssl_key=$(trim_string "$ssl_key");
ssl_cert=$(trim_string "$ssl_cert");
ssl_ca=$(trim_string "$ssl_ca");
ssl_capath=$(trim_string "$ssl_capath");
ssl_cipher=$(trim_string "$ssl_cipher");
ssl_crl=$(trim_string "$ssl_crl");
ssl_crlpath=$(trim_string "$ssl_crlpath");
ssl_verify_server_cert=$(trim_string "$ssl_verify_server_cert");

SSL_PARAM=""

if [ -n "$ssl_key$ssl_cert$ssl_ca$ssl_capath$ssl_cipher$ssl_crl$ssl_crlpath" ]
then
    SSL_PARAM=' --ssl'
    [ -n "$ssl_key" ]     && SSL_PARAM="$SSL_PARAM --ssl-key='$ssl_key'"
    [ -n "$ssl_cert" ]    && SSL_PARAM="$SSL_PARAM --ssl-cert='$ssl_cert'"
    [ -n "$ssl_ca" ]      && SSL_PARAM="$SSL_PARAM --ssl-ca='$ssl_ca'"
    [ -n "$ssl_capath" ]  && SSL_PARAM="$SSL_PARAM --ssl-capath='$ssl_capath'"
    [ -n "$ssl_cipher" ]  && SSL_PARAM="$SSL_PARAM --ssl-cipher='$ssl_cipher'"
    [ -n "$ssl_crl" ]     && SSL_PARAM="$SSL_PARAM --ssl-crl='$ssl_crl'"
    [ -n "$ssl_crlpath" ] && SSL_PARAM="$SSL_PARAM --ssl-crlpath='$ssl_crlpath'"
    if [ -n "$ssl_verify_server_cert" ]; then
        if [ "$ssl_verify_server_cert" != "0" -o \
             "$ssl_verify_server_cert" = "on" ]
        then
            SSL_PARAM="$SSL_PARAM --ssl-verify-server-cert"
        fi
    fi
fi

case "$STATUS" in
    'joined' | 'donor' | 'synced')
        "$COM" | eval "$CLIENT" -B "-u'$USER'"${PSWD:+" -p'$PSWD'"}\
                      "-h'$HOST'" "-P$PORT"$SSL_PARAM
        ;;
    *)
        # The node might be shutting down or not initialized
        ;;
esac

exit 0

Directory Contents

Dirs: 30 × Files: 18

Name Size Perms Modified Actions
bulgarian DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
charsets DIR
- drwxr-xr-x 2024-10-10 12:44:50
Edit Download
chinese DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
czech DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
danish DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
dutch DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
english DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
estonian DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
french DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
georgian DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
german DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
greek DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
hindi DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
hungarian DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
italian DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
japanese DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
korean DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
norwegian DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
policy DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
polish DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
romanian DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
russian DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
serbian DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
slovak DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
spanish DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
swedish DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
systemd DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
ukrainian DIR
- drwxr-xr-x 2024-10-10 12:46:33
Edit Download
1.13 KB lrwxr-xr-x 2024-06-05 17:44:34
Edit Download
811.29 KB lrw-r--r-- 2024-06-05 17:44:34
Edit Download
2.04 MB lrw-r--r-- 2024-06-05 17:44:34
Edit Download
1.44 KB lrw-r--r-- 2024-06-05 17:44:34
Edit Download
1.82 KB lrw-r--r-- 2024-06-05 17:44:34
Edit Download
1.67 KB lrw-r--r-- 2024-06-05 17:44:34
Edit Download
1.64 KB lrw-r--r-- 2024-06-05 17:44:34
Edit Download
9.37 KB lrwxr-xr-x 2024-06-05 17:44:34
Edit Download
12.41 KB lrwxr-xr-x 2024-06-05 17:44:34
Edit Download
1.53 KB lrwxr-xr-x 2024-06-05 17:44:34
Edit Download
1.91 KB lrw-r--r-- 2024-06-05 17:44:34
Edit Download
29.86 KB lrw-r--r-- 2024-06-05 17:44:34
Edit Download
3.25 KB lrw-r--r-- 2024-06-05 17:44:34
Edit Download
604.71 KB lrw-r--r-- 2024-06-05 17:44:34
Edit Download
10.17 KB lrw-r--r-- 2024-06-05 17:44:34
Edit Download
1.73 KB lrw-r--r-- 2024-06-05 17:44:34
Edit Download
3.39 KB lrw-r--r-- 2024-06-05 17:44:34
Edit Download
4.87 KB lrwxr-xr-x 2024-06-05 17:44:34
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).
 !"#$%&'(()*+,-./00123456789 t\ wIDATx ]ys  47Y ƒ -  "  Rv  < f{Ɛ $k l L > L  ~h^ 1  [  r G t& h  l F z3O Y ! p A(_g̷ E8 )S 8 c  Kb"z ~ 5 J xAL WU <  *  5 m;W a pB h ~P J 2 3 6 ҙ .Ƹ P i  4g F R L P ΪK/D  M v (a3 k J Œ4N5* SH ` SdJ z  O J Xՠ V>u ߱ BE&L b2 ?2` tX+  c CB A$ i b C ĀMB E : /  # Dx &l =q Ty  0 \p I ( L Ǎ { e 4k ;`u^ヲ eP!( d {  )T A 8 O;Ě n >;s6 !  :Nx `[S D HU ~ q›J F} a g*D 49 / pn k h (t 8NxƐF _!r չ7 ZR R׷ q/5") Ӎ NY 0 x sZ!   o  fu  ,  K"$ ? pg  㕣=  1» {h " fh7    y  } € +7  $ y " X —ą - G P u 4 m >J 5 L =V ' ^@I p ?MS xЌ XV P ! h "C NS9B8̢ ]!K  e   zA , ӏkbY  !< XQ ٿyS| *" f { w  4@[S <  # 0 ! js [m  =,~ o "ݎ DHf Wo $ g ! Vԅ t mB /y Wf V4񺍸 c+@x?  B ~u " xUN e 0 BĂ) ~J pz! 7y6]l Ԥ@ P a< O /DHC `≻  N m"$  0ObB }{ x AO FCG D R ^ "B  { WDH  UR l@ T #  +"d T ; 0 i  D}. 7 ` ' ] w rE &S i ƕiTD EL P _ u h $ Ա FG wVD G L R Zf ' .!] J /ZR oGЍs Mr Ĥ ʬ 3 Q [3 cL ` ^ p + ( F;# B 5 '  2Y f [  ϶R0e }  E 7 6M aۮ H <& n % L] E}Up x紉, Uw' Q  Ǯշo k ވۙ 0N94 VX5 xEDE l D #֤ } C o )W :  ^ s 9  bRf iX5u ཱི 4 :[  T 1. | [E 2ؽ Iy\ : o x K G 5 ylP ' uK E ftb/i[3 .g _  [3M n G, #NwQ5~  ؚ) | n =Ц"x qg gB ` 듘 ~ x w ? ? R~  _ u. &VQ K˻   H C ( TN˄+ `C dA nB׭ D 3"Z G ê ^k H_ /- ~ " R_  .8 Z_ 6@ o  xg  uP ? 3լ @7AM!  E7^ - =V L  x  g-D0  CtmW 7  O  G _ WD0 g C  w1 r d w : a | \  *" f nֳ ^ H# f L ` Z ۽hV  }S F r0Ù Bć5r] @! NL iQ]{s^=4 d  WD  "  "   M; t" 8 5 e dL| "-*st" ) SWD ?R[S e ooF  20.D ? bo =) A i o d ģ ZҰaO @E =) i D a &ܟa CϞ y6 ,<%{^x%{f8? `iw^ ?/ M * IEND B`