summarylogtreecommitdiffstats
path: root/mariadb.install
diff options
context:
space:
mode:
Diffstat (limited to 'mariadb.install')
-rw-r--r--mariadb.install65
1 files changed, 65 insertions, 0 deletions
diff --git a/mariadb.install b/mariadb.install
new file mode 100644
index 00000000000..43a9fae3814
--- /dev/null
+++ b/mariadb.install
@@ -0,0 +1,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
+}