summarylogtreecommitdiffstats
path: root/mariadb.install
blob: 43a9fae38141fce9593401e79973bbc54a41eb7e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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

install_mroonga_announce() {
  install_sql=/usr/share/mroonga/install.sql
  echo "run the following command to register Mroonga:"; \
  command="/usr/bin/mysql -u root < ${install_sql}"
  echo $command
}

uninstall_mroonga_announce() {
  uninstall_sql=/usr/share/mroonga/uninstall.sql
  echo "run the following command to unregister Mroonga:"; \
  command="/usr/bin/mysql -u root < ${uninstall_sql}"
  echo $command
}

post_install(){
  groupadd -g 89 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

  install_mroonga_announce
  uninstall_mroonga_announce
  usr/bin/systemd-tmpfiles --create mysql.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 $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 $datadir/
    done
    rm -rf data
  fi

  if [[ "$(vercmp $2 5.5.25-5)" -lt 0 ]]; then
    echo ":: mysql.service has been renamed to mysqld.service to keep"
    echo "   consistency with MySQL package."
  fi

  if [[ "$(vercmp $2 10.0)" -lt 0 ]]; then
    echo ":: Major version update. Consider restarting mysqld.service and"
    echo "   running mysql_upgrade afterwards."
  fi
}

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
}