#!/bin/bash set -e . /usr/share/yunohost/helpers if ! dpkg --list | grep -q 'ii *mariadb-server ' then echo 'mysql/mariadb is not installed, skipping' exit 0 fi do_pre_regen() { pending_dir=$1 #cd /usr/share/yunohost/conf/mysql # Nothing to do } do_post_regen() { regen_conf_files=$1 if [[ ! -d /var/lib/mysql/mysql ]]; then # dpkg-reconfigure will initialize mysql (if it ain't already) # It enabled auth_socket for root, so no need to define any root password... # c.f. : cat /var/lib/dpkg/info/mariadb-server-10.3.postinst | grep install_db -C3 MYSQL_PKG="$(dpkg --list | sed -ne 's/^ii \(mariadb-server-[[:digit:].]\+\) .*$/\1/p')" dpkg-reconfigure -freadline -u "$MYSQL_PKG" 2>&1 systemctl -q is-active mariadb.service \ || systemctl start mariadb sleep 5 echo "" | mysql && echo "Can't connect to mysql using unix_socket auth ... something went wrong during initial configuration of mysql !?" >&2 fi # mysql is supposed to be an alias to mariadb... but in some weird case is not # c.f. https://forum.yunohost.org/t/mysql-ne-fonctionne-pas/11661 # Playing with enable/disable allows to recreate the proper symlinks. if [ ! -e /etc/systemd/system/mysql.service ]; then systemctl stop mysql -q systemctl disable mysql -q systemctl disable mariadb -q systemctl enable mariadb -q systemctl is-active mariadb -q || systemctl start mariadb fi [[ -z "$regen_conf_files" ]] \ || systemctl restart mysql } do_$1_regen ${@:2}