Change mariadb to mysql

Hello!
How I can change mariadb to mysql 5.7? It’s possible friends mysql with hestiacp?

Hi

Please checkout https://github.com/hestiacp/hestiacp/issues/821.

this solution not work, i set --mysql yes but when finish, mysql -v show maria db 10.1

This wasnt written as solution, the fact is that hestia currently sticks to mariadb only. The switch mysql will install mariadb (or not, if you set it to no).

if you really mysql instead of mariadb, best way probably would be to edit the install script so that it doesn’t mariadb repos but install whatever mysql version comes from the original OS repos…

Just an FYI. You absolutely CAN install HestiaCP with MySQL 5.7. I have done this exact thing, on a few separate occasions and it works just fine. You need to make sure that you have added the correct MySQL repos to your Debian install, BEFORE you run the HestiaCP installation script, with all references to “mariadb”, replaced with “mysql”.

HTH

Could you share the modifications you did and which repo you’ve added?

Of course. Sorry, I believe I used a misnomer; not a repo, rather the mysql-apt-config script (used to setup apt to point to the version you want your system to refer to when you, “apt-get install mysql”).

I used the following steps to achieve HestiaCP on MySQL 5.7.

  1. Login as root (which you need to do to install HestiaCP anyway).
  2. apt-get update
  3. apt-get upgrade
  4. wget http://repo.mysql.com/mysql-apt-config_0.8.13-1_all.deb (as of 02/2021, check mysql’s site for latest version).
  5. dpkg -i mysql-apt-config_0.8.13-1_all.deb (During the installation of MySQL apt config package, It will prompt to select MySQL version to install. Select the MySQL 5.7 option to configure your system to use this version of mysql when installing and updating.)
  6. apt-get update (again)

Now you are ready to run the modified version of the HestiaCP installation script, with all references to mariadb, replaced with mysql. I have the modified version of this installation script that I have used successfully and would be happy to upload it, if that is allowed. I just don’t see that option herein.

HTH

Here are the relevant bits:


Define software versions

HESTIA_INSTALL_VER='1.3.3'

pma_v='5.0.4'

multiphp_v=("5.6" "7.0" "7.1" "7.2" "7.3" "7.4" "8.0")

fpm_v="7.4"

mariadb_v="10.5"

if [ "$release" -eq 9 ]; then

    software="nginx apache2 apache2-utils apache2-suexec-custom

        libapache2-mod-fcgid libapache2-mod-php$fpm_v php$fpm_v php$fpm_v-common

        php$fpm_v-cgi php$fpm_v-mysql php$fpm_v-curl php$fpm_v-pgsql

        php$fpm_v-imagick php$fpm_v-imap php$fpm_v-ldap php$fpm_v-apcu awstats

        php$fpm_v-zip php$fpm_v-bz2 php$fpm_v-cli php$fpm_v-gd php$fpm_v-intl

        php$fpm_v-json php$fpm_v-mbstring php$fpm_v-opcache php$fpm_v-pspell

        php$fpm_v-readline php$fpm_v-xml vsftpd proftpd-basic bind9 exim4

        exim4-daemon-heavy clamav-daemon spamassassin dovecot-imapd

        dovecot-pop3d roundcube-core net-tools roundcube-mysql roundcube-plugins

        mariadb-client mariadb-common mariadb-server postgresql

        postgresql-contrib phppgadmin phpmyadmin mc flex whois rssh git idn zip

        sudo bc ftp lsof rrdtool quota e2fslibs bsdutils e2fsprogs curl

        imagemagick fail2ban dnsutils bsdmainutils cron hestia=${HESTIA_INSTALL_VER} hestia-nginx

        hestia-php expect libmail-dkim-perl unrar-free vim-common acl sysstat

        rsyslog openssh-server setpriv ipset libapache2-mod-ruid2 zstd"

elif [ "$release" -eq 10 ]; then

    software="nginx apache2 apache2-utils apache2-suexec-custom

        apache2-suexec-pristine libapache2-mod-fcgid libapache2-mod-php$fpm_v

        php$fpm_v php$fpm_v-common php$fpm_v-cgi php$fpm_v-mysql php$fpm_v-curl

        php$fpm_v-pgsql php$fpm_v-imagick php$fpm_v-imap php$fpm_v-ldap

        php$fpm_v-apcu awstats php$fpm_v-zip php$fpm_v-bz2 php$fpm_v-cli

        php$fpm_v-gd php$fpm_v-intl php$fpm_v-json php$fpm_v-mbstring

        php$fpm_v-opcache php$fpm_v-pspell php$fpm_v-readline php$fpm_v-xml

        awstats vsftpd proftpd-basic bind9 exim4 exim4-daemon-heavy

        clamav-daemon spamassassin dovecot-imapd dovecot-pop3d roundcube-core

        net-tools roundcube-mysql roundcube-plugins mysql-client

        mysql-common mysql-server postgresql postgresql-contrib phpmyadmin

        phppgadmin mc flex whois git idn zip sudo bc ftp lsof rrdtool

        quota e2fslibs bsdutils e2fsprogs curl imagemagick fail2ban dnsutils

        bsdmainutils cron hestia=${HESTIA_INSTALL_VER} hestia-nginx hestia-php expect

        libmail-dkim-perl unrar-free vim-common acl sysstat rsyslog openssh-server

        util-linux ipset libapache2-mpm-itk zstd"

fi

Then further down in the script, I remarked the section where it tried to install and configure the Mariadb repo (as this would supercede the changes we made earlier, configuring mysql to use 5.7, before running the installation script).


Installing MariaDB repo

#if [ "$mysql" = 'yes' ]; then

#    echo "[ * ] MariaDB"

#    echo "deb [arch=amd64] https://mirror.mva-n.net/mariadb/repo/$mariadb_v/$VERSION $codename main" > $apt/mariadb.list

#    apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc' > /dev/null 2>&1

#fi

I believe from that point forward, the rest of the script just worked, as MariaDB is “supposedly” a direct drop-in replacement for MySQL, so all the commands are identical. I do believe I searched the rest of the script, looking for any further reference to “mariadb”, just to make sure there was no further attempts to install or configure it.

Sorry if this is confusing. If you’d prefer to just review the version of the installation script I used, I’m happy to send it to you. Just LMK.

HTH

2 Likes

any update about MariaDB select in installation?

While I agree that it would be fantastic to have MySQL (v5.7 & v8.0) and MariaDB (10.x) as available options in the installation script, I do not believe the Hestia developers committed to adding this. Did they? I sure would love it, as I have a regular need to deploy Debian web machines, with MySQL 5.7 and LAMP – with which HestiaCP is awesome!

Here’s to hoping!

See Feature Request: Install MySQL instead of MariaDB · Issue #821 · hestiacp/hestiacp · GitHub

Feel free to submit a pull request but currently we are not able to fullil due to limited availability…