Skip to content

Instantly share code, notes, and snippets.

@jhsea3do
Last active August 3, 2021 09:35
Show Gist options
  • Save jhsea3do/c3d07a7bbd601e34bad077b66a8ed063 to your computer and use it in GitHub Desktop.
Save jhsea3do/c3d07a7bbd601e34bad077b66a8ed063 to your computer and use it in GitHub Desktop.
INSTDIR=$HOME
export MYSQL_HOME=$INSTDIR/mariadb/usr
export MYSQL_DATA=$INSTDIR/mariadb/data
export MYSQL_LOGS=$INSTDIR/mariadb/logs
export MYSQL_CONF=$INSTDIR/mariadb/conf
export MYSQL_PKGS=$INSTDIR/pkgs
export LD_LIBRARY_PATH=$INSTDIR/mariadb/lib/x86_64-linux-gnu:\
$INSTDIR/mariadb/usr/lib/x86_64-linux-gnu
mkdir -p $MYSQL_DATA
mkdir -p $MYSQL_LOGS
mkdir -p $MYSQL_CONF
mkdir -p $MYSQL_PKGS
cd $MYSQL_PKGS
apt download \
mariadb-common \
mariadb-server-10.1 \
mariadb-server-core-10.1 \
libaio1 libjemalloc1 \
mariadb-client-10.1 \
mariadb-client-core-10.1 \
libreadline5
cd $INSTDIR
for deb in $(find $MYSQL_PKGS|grep deb$); do
dpkg -X $deb ./mariadb
done
cat <<EOF | tee "$MYSQL_CONF/my.cnf"
[mysqld]
basedir=$MYSQL_HOME
datadir=$MYSQL_DATA
max_allowed_packet=5M
lower_case_table_names=1
log-bin=mysql-bin
expire_logs_days=7
server_id=1
slave-skip-errors=1032,1062
EOF
$MYSQL_HOME/bin/mysql_install_db \
--user=$(id -u -n) \
--defaults-file=$MYSQL_CONF/my.cnf \
--basedir=$MYSQL_HOME/ \
--datadir=$MYSQL_DATA
$MYSQL_HOME/sbin/mysqld \
--defaults-file=$MYSQL_CONF/my.cnf \
--basedir=$MYSQL_HOME/ \
--datadir=$MYSQL_DATA \
--lc-messages-dir=$MYSQL_HOME/share/mysql \
--plugin-dir=$MYSQL_HOME/lib/x86_64-linux-gnu/mariadb18/plugin \
--pid-file=$MYSQL_LOGS/mysql.pid \
--log-error=$MYSQL_LOGS/mysqld.log \
--socket=$MYSQL_LOGS/mysql.sock
$MYSQL_HOME/bin/mysql --protocol=tcp -hlocalhost -uroot
$MYSQL_HOME/bin/mysqladmin shutdown \
--socket=$MYSQL_LOGS/mysql.sock
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment