Files
containers/bitnami/mariadb/entrypoint.sh
Sameer Naik 993b16471e added master/slave replication support
Example,

Start master:

```bash
docker run -it --rm --name mariadb-master \
  -e 'MARIADB_USER=root' -e 'MARIADB_PASSWORD=password' \
  -e 'MARIADB_DATABASE=newdatabase' \
  -e 'REPLICATION_MODE=master' -e 'REPLICATION_USER=slave' -e 'REPLICATION_PASSWORD=slavepassword' \
  bitnami/mariadb
```

Start Slave:

```bash
docker run -it --rm --name mariadb-slave \
  --link mariadb-master:mariadb-master \
  -e 'MARIADB_USER=root' -e 'MARIADB_PASSWORD=password' \
  -e 'MARIADB_DATABASE=newdatabase' -e 'REPLICATION_MODE=slave' \
  bitnami/mariadb
```
2015-08-12 13:49:47 +05:30

49 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
set -e
source $BITNAMI_PREFIX/bitnami-utils.sh
print_welcome_page
# if command starts with an option, prepend mysqld
if [ "${1:0:1}" = '-' ]; then
EXTRA_OPTIONS="$@"
set -- mysqld.bin
elif [ "${1}" == "mysqld.bin" -o "${1}" == "$BITNAMI_APP_DIR/bin/mysqld.bin" ]; then
EXTRA_OPTIONS="${@:2}"
set -- mysqld.bin
fi
if [ ! "$(ls -A $BITNAMI_APP_VOL_PREFIX/conf)" ]; then
generate_conf_files
fi
if [ "$1" = 'mysqld.bin' ]; then
set -- $@ $PROGRAM_OPTIONS $EXTRA_OPTIONS
mkdir -p $BITNAMI_APP_DIR/tmp
chown -R $BITNAMI_APP_USER:$BITNAMI_APP_USER $BITNAMI_APP_DIR/tmp || true
if [ ! -d $BITNAMI_APP_VOL_PREFIX/data/mysql ]; then
set -- "$@" --init-file=/tmp/init_mysql.sql
initialize_database
create_custom_database
create_mysql_user
configure_replication
print_app_credentials $BITNAMI_APP_NAME $MARIADB_USER `print_mysql_password` `print_mysql_database`
else
print_container_already_initialized $BITNAMI_APP_NAME
fi
chown -R $BITNAMI_APP_USER:$BITNAMI_APP_USER \
$BITNAMI_APP_VOL_PREFIX/conf/ \
$BITNAMI_APP_VOL_PREFIX/logs/ \
$BITNAMI_APP_VOL_PREFIX/data/ || true
fi
exec "$@"