diff options
Diffstat (limited to 'community/mariadb/mariadb.install')
-rw-r--r-- | community/mariadb/mariadb.install | 33 |
1 files changed, 15 insertions, 18 deletions
diff --git a/community/mariadb/mariadb.install b/community/mariadb/mariadb.install index 4ac50ec94..de619b668 100644 --- a/community/mariadb/mariadb.install +++ b/community/mariadb/mariadb.install @@ -1,30 +1,28 @@ +if [[ $(command -v my_print_defaults >/dev/null 2>&1) ]]; then + datadir=$(my_print_defaults mysqld | sed -n "s/^--datadir=//p") +fi +[[ -z $datadir ]] && datadir=/var/lib/mysql + post_install(){ groupadd -g 89 mysql &>/dev/null - useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql &>/dev/null - usr/bin/mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql - chown -R mysql:mysql var/lib/mysql &>/dev/null + useradd -u 89 -g mysql -d $datadir -s /bin/false mysql &>/dev/null - if [[ ! -d run/mysqld ]]; then - usr/bin/systemd-tmpfiles --create usr/lib/tmpfiles.d/mysql.conf + if [[ ! -e $datadir ]]; then + install -dm700 $datadir + usr/bin/mysql_install_db --user=mysql --basedir=/usr --datadir=$datadir + chown -R mysql:mysql var/lib/mysql &>/dev/null fi + + usr/bin/systemd-tmpfiles --create mysqld.conf } post_upgrade(){ getent group mysql >/dev/null 2>&1 || groupadd -g 89 mysql &>/dev/null - getent passwd mysql >/dev/null 2>&1 || useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql &>/dev/null - - if [[ ! -d run/mysqld ]]; then - usr/bin/systemd-tmpfiles --create usr/lib/tmpfiles.d/mysql.conf - fi - - if [[ "$(vercmp $2 5.5)" -lt 0 ]]; then - echo ">>> Major version update. Consider restart the service, and" - echo " then running mysql_upgrade after it." - fi + getent passwd mysql >/dev/null 2>&1 || useradd -u 89 -g mysql -d $datadir -s /bin/false mysql &>/dev/null if [[ "$(vercmp $2 5.5.25-4)" -lt 0 ]] && [[ -d /data ]]; then for x in data/*; do - cp -r $x var/lib/mysql/ + cp -r $x $datadir/ done rm -rf data fi @@ -38,10 +36,9 @@ post_upgrade(){ post_remove(){ if getent passwd mysql >/dev/null 2>&1; then userdel mysql + fi if getent group mysql >/dev/null 2>&1; then groupdel mysql fi } - -# vim:set ts=2 sw=2 et: |