mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
Mysql is a fucking joke (... trying to fix the mysql issue on RPi ...)
This commit is contained in:
parent
29bd3c4a26
commit
cd4fdb2b61
1 changed files with 25 additions and 38 deletions
|
@ -15,6 +15,31 @@ do_pre_regen() {
|
||||||
do_post_regen() {
|
do_post_regen() {
|
||||||
regen_conf_files=$1
|
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
|
||||||
|
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 !?"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -e /etc/yunohost/mysql ]
|
||||||
|
then
|
||||||
|
# Dummy password that's not actually used nor meaningful ...
|
||||||
|
# (because mysql is supposed to be configured to use unix_socket on new setups)
|
||||||
|
# but keeping it for legacy
|
||||||
|
# until we merge https://github.com/YunoHost/yunohost/pull/912 ...
|
||||||
|
ynh_string_random 10 > /etc/yunohost/mysql
|
||||||
|
chmod 400 /etc/yunohost/mysql
|
||||||
|
fi
|
||||||
|
|
||||||
# mysql is supposed to be an alias to mariadb... but in some weird case is not
|
# 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
|
# c.f. https://forum.yunohost.org/t/mysql-ne-fonctionne-pas/11661
|
||||||
# Playing with enable/disable allows to recreate the proper symlinks.
|
# Playing with enable/disable allows to recreate the proper symlinks.
|
||||||
|
@ -27,44 +52,6 @@ do_post_regen() {
|
||||||
systemctl is-active mariadb -q || systemctl start mariadb
|
systemctl is-active mariadb -q || systemctl start mariadb
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -f /etc/yunohost/mysql ]; then
|
|
||||||
|
|
||||||
# ensure that mysql is running
|
|
||||||
systemctl -q is-active mysql.service \
|
|
||||||
|| service mysql start
|
|
||||||
|
|
||||||
# generate and set new root password
|
|
||||||
mysql_password=$(ynh_string_random 10)
|
|
||||||
mysqladmin -s -u root -pyunohost password "$mysql_password" || {
|
|
||||||
if [ $FORCE -eq 1 ]; then
|
|
||||||
echo "It seems that you have already configured MySQL." \
|
|
||||||
"YunoHost needs to have a root access to MySQL to runs its" \
|
|
||||||
"applications, and is going to reset the MySQL root password." \
|
|
||||||
"You can find this new password in /etc/yunohost/mysql." >&2
|
|
||||||
|
|
||||||
# set new password with debconf
|
|
||||||
debconf-set-selections << EOF
|
|
||||||
$MYSQL_PKG mysql-server/root_password password $mysql_password
|
|
||||||
$MYSQL_PKG mysql-server/root_password_again password $mysql_password
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# reconfigure Debian package
|
|
||||||
dpkg-reconfigure -freadline -u "$MYSQL_PKG" 2>&1
|
|
||||||
else
|
|
||||||
echo "It seems that you have already configured MySQL." \
|
|
||||||
"YunoHost needs to have a root access to MySQL to runs its" \
|
|
||||||
"applications, but the MySQL root password is unknown." \
|
|
||||||
"You must either pass --force to reset the password or" \
|
|
||||||
"put the current one into the file /etc/yunohost/mysql." >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# store new root password
|
|
||||||
echo "$mysql_password" | tee /etc/yunohost/mysql
|
|
||||||
chmod 400 /etc/yunohost/mysql
|
|
||||||
fi
|
|
||||||
|
|
||||||
[[ -z "$regen_conf_files" ]] \
|
[[ -z "$regen_conf_files" ]] \
|
||||||
|| service mysql restart
|
|| service mysql restart
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue