diff options
Diffstat (limited to 'abs/core/mysql/mysql.install')
-rw-r--r-- | abs/core/mysql/mysql.install | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/abs/core/mysql/mysql.install b/abs/core/mysql/mysql.install index a98f1a8..f420406 100644 --- a/abs/core/mysql/mysql.install +++ b/abs/core/mysql/mysql.install @@ -1,17 +1,26 @@ +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 - chown -R mysql:mysql var/lib/mysql &>/dev/null + useradd -u 89 -g mysql -d $datadir -s /bin/false mysql &>/dev/null + + 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 + 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)" -lt 0 ]; then + if [ "$(vercmp $2 5.6)" -lt 0 ]; then echo " >> " echo " >> Major version update. Consider restart the service, and then running mysql_upgrade after it." echo " >> " |