Articles in this section

How to upgrade MariaDB on Plesk for Linux

kb: how-to Plesk for Linux ABT: Group B

Applicable to:

  • Plesk for Linux

Question

How to upgrade MariaDB on Plesk for Linux?

Answer

In Plesk Obsidian 18.0.60 we have released our new tool in beta test to upgrade MariaDB to a supported LTS branch via Plesk User Interface. It checks configuration, performs DB backup, configures MariaDB package repositories, performs the upgrade, and runs necessary post-upgrade actions.

Starting from Plesk Obsidian 18.0.71, the feature is available for all Plesk Obsidian servers

Plesk UI

Note: This automatic tool is not available on CloudLinux. For this operating system proceed to the "Manual procedure".

  1. Login to Plesk UI as admin.
  2. Go to Tools & Settings > Database Servers page:
  3. Click the "Upgrade now" button.
  4. Feedback about this feature can be left using the following link.

Manual procedure

This section provides manual instructions for upgrading MySQL 5.5 to 5.6/5.7 and MariaDB 5.5 to 10.0/10.1/10.2/10.3/10.4/10.5/10.6/10.11/11.4/12.3 on Linux.

Note: Upgrade can be performed in a command-line interface with the instructions below at your own risk. This task is supposed to be performed by a system administrator.
If you are not familiar with Linux system administration and would like our professionals to handle this task on your behalf, contact Professional Services team at https://www.plesk.com/professional-services/.

To find out your Linux distribution, run:

# plesk version | grep "OS version"

Or:

# cat /etc/*-release

Warning: MariaDB 10.11 is supported starting from Plesk Obsidian 18.0.52. MariaDB 10.4 and later versions are supported starting from Plesk Obsidian 18.0.30. Previous versions (Onyx and older) do not support MariaDB starting from 10.3 and there are no plans to implement it currently.

Warning:
Direct upgrade from MySQL 5.1 to MySQL 5.6/5.7 will break table's structure. The instructions for upgrading MySQL from 5.1 to 5.5 on Linux are available here: How to upgrade MySQL from 5.1 to 5.5 on Linux

Warning:
Direct upgrade from MariaDB 5.5 or 5.7 to MariaDB 10.6 or later versions is not possible.
You should first upgrade MariaDB 5.5. or 5.7 to any MariaDB from 10.3 to 10.5, and then perform an update to MariaDB 10.6 or later

It is strongly recommended to create a server snapshot (full backup) before upgrading. Perform MySQL/MariaDB upgrade at your own risk.

Before starting a MySQL/MariaDB upgrade, stop the WatchDog service if it is used on a server. Check its status with the service watchdog status command.

Note: MySQL/MariaDB will not be upgraded on CentOS/RHEL-based operating systems if it was installed from the Webtatic Yum repository:

# rpm -qa | grep -i mysql
mysql55w-server-5.5.57-1.w6.x86_64

To start an upgrade of MySQL/MariaDB, connect to a server via SSH as root/superuser and follow the instructions for your operating system:

Plesk on CentOS 8/AlmaLinux 8/AlmaLinux 9

By default, CentOS 8 is shipped with MariaDB 10.3.

  1. For security reasons, create a database dump of all databases with the following command:

    # MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysqldump -u admin --verbose --all-databases --routines --triggers > /tmp/all-databases.sql

  2. Stop MariaDB:

    # service mariadb stop

  3. Remove additional package conflicting with 10.4 version:

    # yum remove mariadb-gssapi-server

  4. For security reasons, copy the database directory in a separate folder:

    # cp -v -a /var/lib/mysql/ /var/lib/mysql_backup

  5. Configure MariaDB repository: open the Setting MariaDB repositories page, select your OS distro (for AlmaLinux 8 use RHEL 8), release, and desired MariaDB version. Once done, the configuration that should be added to the /etc/yum.repos.d/MariaDB.repo file will appear.

    Warning: MariaDB 10.4 and later versions are supported since 18.0.30, make sure the latest Plesk version is installed.

    Here is an example for MariaDB 10.4:

    5.1. Open/create the MariaDB.repo file in any text editor. In this example, we are using the vi editor:

    # vi /etc/yum.repos.d/MariaDB.repo

    5.2. Add the content below to the file:

    [mariadb]
    name = MariaDB
    baseurl = http://yum.mariadb.org/10.4/centos8-amd64
    gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    gpgcheck=1
    priority=1
    module_hotfixes=1

    The configuration item module_hotfixes=1 is a workaround for what MariaDB told is a dnf bug. See MDEV-20673 for more details

    5.3. Save the changes and close the file.

  6. Check if the mariadb-server package is already installed:

    # rpm -q --whatprovides mariadb-server

    If it is installed and the command above gives output, remove it using the following command:

    # rpm -e --nodeps `rpm -q --whatprovides mariadb-server`

  7. Reset all the cache:

    # yum clean all

  8. Start an upgrade of MariaDB to 10.4:

    # yum install MariaDB-server galera-4 MariaDB-client MariaDB-shared MariaDB-backup MariaDB-common

  9. In case upgrading to MariaDB 10.6 or newer it is needed to adjust the my.cnf configuration file to match the new requirements:

    # sed -i 's/bind-address = ::ffff:127.0.0.1/bind-address = 127.0.0.1/g' /etc/my.cnf

  10. If upgrading from MariaDB 10.5 or earlier version, remove NO_AUTO_CREATE_USER in sql_mode:

    # sed -i 's/,NO_AUTO_CREATE_USER//g' /etc/my.cnf

  11. Once the upgrade is finished, start MariaDB:

    # systemctl restart mariadb

  12. Upgrade MySQL databases:

    # MYSQL_PWD=`cat /etc/psa/.psa.shadow` mariadb-upgrade -uadmin

  13. Restart mariadb service:

    # systemctl restart mariadb

  14. Execute this command to update the package version inside Plesk:

    # plesk sbin packagemng -sdf

  15. Restore SELinux context:

    # restorecon -v /var/lib/mysql/*

Plesk on CentOS 7 / RHEL 7

By default, CentOS 7 is shipped with MariaDB 5.5. MariaDB 10.x version is a drop-in replacement for MySQL 5.5-5.7.

Automatic method

Note: The script below is applicable only for upgrading default MariaDB 5.5 to the MariaDB 10.5 version, for other cases apply the steps from the Manual Method section. Make sure Obsidian 18.0.30 or later is installed on the server.

  1. Download the attached script and provide it with executable rights:

    # wget https://raw.githubusercontent.com/plesk/kb-scripts/master/c7-mariadb-10-5-upgrade/c7-mariadb-10-5-upgrade.sh && chmod +x c7-mariadb-10-5-upgrade.sh

  2. Execute the script via CLI:

    # ./c7-mariadb-10-5-upgrade.sh

Manual Method

  1. For security reasons, create a database dump of all databases with the following command:

    # MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysqldump -u admin --verbose --all-databases --routines --triggers > /root/all-databases.sql

  2. Stop MariaDB:

    # service mariadb stop

  3. Remove additional mariadb-bench package if installed:

    # rpm -e --nodeps mariadb-bench

  4. For security reasons, copy the database directory to a separate folder:

    # cp -v -a /var/lib/mysql/ /var/lib/mysql_backup

  5. Check if the mariadb-server package is already installed:

    # rpm -q --whatprovides mariadb-server

    If it is installed and the command above gives output, remove it using the following command:

    # rpm -e --nodeps `rpm -q --whatprovides mariadb-server`

  6. Configure MariaDB repository:

    Warning: MariaDB 10.4 and later versions are supported since 18.0.30, make sure the latest Plesk version is installed.

    Here is an example for MariaDB 10.5:

    6.1. The following command adds the MariaDB 10.5 repository:

    # curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.5.26
     

    Note: Make sure that other MariaDB repositories are not enabled in /etc/yum.repos.d/.

  7. Reset all the cache:

    # yum clean all

  8. Start an upgrade of MariaDB:

    # yum install MariaDB-client MariaDB-server MariaDB-compat MariaDB-shared

  9. In case upgrading to MariaDB 10.6 or newer it is needed to adjust the my.cnf configuration file to match the new requirements:

    # sed -i 's/bind-address = ::ffff:127.0.0.1/bind-address = 127.0.0.1/g' /etc/my.cnf

  10. If upgrading from MariaDB 10.5 or earlier version, remove NO_AUTO_CREATE_USER in sql_mode:

    # sed -i 's/,NO_AUTO_CREATE_USER//g' /etc/my.cnf

  11. Start MariaDB:

    # systemctl restart mariadb

    OR

    # systemctl restart mysql

  12. Upgrade MySQL databases:

    # MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql_upgrade -uadmin

  13. Restart mysql service:

    # systemctl restart mariadb

    OR

    # systemctl restart mysql

  14. Execute this command to update the package version inside Plesk:

    # plesk sbin packagemng -sdf

Note: After an upgrade, there may appear 'mysql' init script. It should be removed to avoid conflicts with MariaDB service. The same commands can be used to fix already existing conflict:

# systemctl stop mysql; killall mysqld # to stop the incorrect service if it is started
# rm -f /etc/init.d/mysql && systemctl daemon-reload # to remove the incorrect service script and reload systemctl configuration
# systemctl start mariadb # to start MariaDB if not started
# systemctl enable mariadb # to make sure that MariaDB will start after the server reboot automatically

Plesk on CloudLinux
  1. Create a backup of all databases with the following command:

    # MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysqldump -u admin --verbose --all-databases --routines --triggers > /root/all-databases.sql

  2. Stop the MySQL service:

    # systemctl stop mysqld

  3. Copy a database's directory to a separate folder like this (for backup purposes also):

    # cp -v -a /var/lib/mysql/ /var/lib/mysql_backup

  4. In case bind-address directive is present in /etc/my.cnf make sure that it is as follows :

    # bind-address = 127.0.0.1

  5. Start the MySQL service:

    # systemctl start mysqld

    • Select MySQL/MariaDB version to install:

      Note: The following command does not work if governor-mysql package is not installed. In such case, install it:

      # yum install governor-mysql

      # /usr/share/lve/dbgovernor/mysqlgovernor.py --mysql-version=MYSQL_VERSION

      Note: Where 'MYSQL_VERSION' has to be substituted with one of the following:
      mariadb102 for MariaDB v10.2
      mariadb103 for MariaDB v10.3
      mariadb104 for MariaDB v10.4
      mariadb105 for MariaDB v10.5
      mariadb106 for MariaDB v10.6
      mariadb1011 for MariaDB v10.11
      mariadb1104 for MariaDB v11.4
      mysql56 for MySQL v5.6
      mysql57 for MySQL v5.7
      mysql80 for MySQL v8.0
      mysql84 for MySQL v8.4
      As for now MariaDB v11.8 is not supported by mysqlgovernor.py

      Note: where 'MYSQL_VERSION' is the target database server version that should be replaced with the value from the table above. The upgrade should proceed in series, for example, for MariaDB 10.1 to 10.3:
      10.1 → 10.2;
      10.2 → 10.3.
      More information can be found here. If there is an issue with Governor, Cloudlinux support should be contacted for further support.

  6. Install selected previously MariaDB engine:

    # /usr/share/lve/dbgovernor/mysqlgovernor.py --install

    Warning: CloudLinux does not recommend to downgrade from MySQL v5.6, MariaDB 10.x

  7. Restart MySQL/MariaDB:

    # systemctl restart mysql

  8. Upgrade MySQL/MariaDB databases:

    # MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql_upgrade -uadmin

  9. Restart MySQL:

    # systemctl restart mysql

  10. Execute the following command to update package version inside Plesk:

    # plesk sbin packagemng -sdf

Plesk on Debian 9

Debian 9 is basically shipped with MariaDB. MariaDB 10.x version is a drop-in replacement for MySQL 5.5/5.6/5.7

  1. Backup all existing databases using the KB article How to backup/restore a Plesk database dump and follow instructions on MariaDB site to update it:

Example for MariaDB 10.2

  1. Install MariaDB:

    1.1. Stop the MariaDB service:

    # service mariadb stop

    # curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=mariadb-10.2

    # apt install mariadb-server-10.2

    If the installation fails with unmet dependencies:

    dpkg: mariadb-server-10.1: dependency problems, but removing anyway as you requested:
    plesk-mysql-server depends on virtual-mysql-server | mysql-server; however:
    Package virtual-mysql-server is not installed.
    Package mariadb-server-10.1 which provides virtual-mysql-server is to be removed.
    Package mariadb-server-10.2 which provides virtual-mysql-server is not installed.
    Package mysql-server is not installed.
    <...>
    The following packages have unmet dependencies:
    mariadb-server-10.2 : Depends: mariadb-client-10.2 (>= 10.2.19+maria~stretch) but it is not going to be installed
    Depends: mariadb-server-core-10.2 (>= 10.2.19+maria~stretch) but it is not going to be installed

    Run the command below to correct them:

    # apt --fix-broken install

  2. Check MySQL/MariaDB version:

    # mysql -V
    mysql Ver 15.1 Distrib 10.2.19-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

  3. Start the MariaDB service:

    # systemctl start mariadb

    Note: It may be already started

  4. Upgrade MySQL/MariaDB databases:

    # MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql_upgrade -uadmin

  5. Restart MySQL/MariaDB service:

    # systemctl restart mariadb

  6. Execute the following command to update package version inside Plesk:

    # plesk sbin packagemng -sdf

Plesk on Debian 10/Debian 11

By default, Debian 10 is shipped with MariaDB 10.3.

  1. For security reasons, create a database dump of all databases with the following command:

    # MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysqldump -u admin --verbose --all-databases --routines --triggers > /root/all-databases.sql

  2. Stop MariaDB:

    # service mariadb stop

Here is an example for MariaDB 10.4:

Warning: MariaDB 10.4 and later versions are supported since 18.0.30, make sure the latest Plesk version is installed.

  1. Install repositories:

    # apt-get install software-properties-common dirmngr apt-transport-https

    # apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'

    # curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.4

  2. Create a backup of all MySQL/MariaDB data:

    # cp -v -a /var/lib/mysql/ /var/lib/mysql_backup

  3. Start an upgrade with the following command. Leave all fields empty when asked for a 'root' user password:

    # apt-get update

    # apt-get install mariadb-server

    If the installation fails with unmet dependencies:

    plesk-mysql-server depends on virtual-mysql-server | mysql-server; however:
    Package virtual-mysql-server is not installed.
    Package mariadb-server-10.3 which provides virtual-mysql-server is to be removed.
    Package mysql-server is not installed.
    [...]
    dpkg: error processing archive /var/cache/apt/archives/mariadb-server-10.4_1%3a10.4.14+maria~buster_amd64.deb (--unpack):
    trying to overwrite '/usr/bin/my_print_defaults', which is also in package mariadb-server-core-10.3 1:10.3.22-0+deb10u1
    dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
    Errors were encountered while processing:
    /var/cache/apt/archives/mariadb-server-10.4_1%3a10.4.14+maria~buster_amd64.deb
    E: Sub-process /usr/bin/dpkg returned an error code (1)

    OR

    The following packages have unmet dependencies:
    mariadb-server : Depends: mariadb-server-10.4 (>= 1:10.4.14+maria~buster) but it is not going to be installed
    plesk-mysql-server : PreDepends: virtual-mysql-server or
    mysql-server but it is not installable
    Depends: virtual-mysql-server or
    mysql-server but it is not installable

    Run the command below to correct them:

    # apt --fix-broken install

  4. Adjust the /etc/mysql/my.cnfand/or /etc/mysql/mariadb.conf.d/50-server.cnf configuration file to match the new requirements:

    # sed -i 's/bind-address = ::ffff:127.0.0.1/bind-address = 127.0.0.1/g' /etc/mysql/my.cnf

    # sed -i 's/bind-address = ::ffff:127.0.0.1/bind-address = 127.0.0.1/g' /etc/mysql/mariadb.conf.d/50-server.cnf

  5. Start the MariaDB service:

    # systemctl start mariadb.service

  6. Upgrade MySQL/MariaDB databases:

    # MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql_upgrade -uadmin

  7. Restart MySQL/MariaDB service:

    # systemctl restart mariadb

  8. Execute the following command to update package version inside Plesk:

    # plesk sbin packagemng -sdf

Plesk on Ubuntu 18.04

Ubuntu 18.04 is shipped with MariaDB 10.1. MariaDB 10.x version is a drop-in replacement for MySQL 5.5-5.7. In order to upgrade MariaDB 10.1 to MariaDB 10.x, follow these steps:

  1. Create a backup of all databases with the following command:

    # MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysqldump -u admin --verbose --all-databases --routines --triggers > /tmp/all-databases.sql

  2. Stop the MariaDB service:

    # systemctl stop mariadb

Here is an example for MariaDB 10.2:

Warning: MariaDB 10.4 and later versions are supported since 18.0.30, make sure the latest Plesk version is installed.

  1. Install repositories:

    # apt-get install software-properties-common

    # apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'

    # curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.2

  2. Create a backup of all MySQL/MariaDB data:

    # cp -v -a /var/lib/mysql/ /var/lib/mysql_backup

  3. Start an upgrade with the following command. Leave all fields empty when asked for a root user password:

    # apt-get update

    # apt-get install mariadb-server

  4. Start the MariaDB service:

    # systemctl start mariadb

  5. Upgrade MySQL/MariaDB databases:

    # MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql_upgrade -uadmin

  6. Restart MySQL/MariaDB service:

    # systemctl restart mariadb

  7. Execute the following command to update package version inside Plesk:

    # plesk sbin packagemng -sdf

Plesk on Ubuntu 20.04/Ubuntu 22.04

By default, Ubuntu 20.04 is shipped with MariaDB 10.3 and Ubuntu 22.04 with MariaDB 10.6.

  1. For security reasons, create a database dump of all databases with the following command:

    # MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysqldump -u admin --verbose --all-databases --routines --triggers > /tmp/all-databases.sql

  2. Stop MariaDB:

    # service mariadb stop

Here is an example for MariaDB 10.4:

Warning: MariaDB 10.4 and later versions are supported since 18.0.30, make sure the latest Plesk version is installed.

  1. Install repositories:

    # apt-get install software-properties-common

    # apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'

    # curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.4

  2. Create a backup of all MySQL data:

    # cp -v -a /var/lib/mysql/ /var/lib/mysql_backup

  3. Start an upgrade with the following command. Leave all fields empty when asked for a 'root' user password:

    # apt-get update

    # apt-get install mariadb-server

  4. Adjust the my.cnf configuration file to match the new requirements:

    # sed -i 's/bind-address = ::ffff:127.0.0.1/bind-address = 127.0.0.1/g' /etc/mysql/my.cnf

  5. Start the MariaDB service:

    # service mariadb start

  6. Upgrade MySQL/MariaDB databases:

    # MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql_upgrade -uadmin

  7. Restart mysql service:

    # service mariadb restart

  8. Execute the following command to update package version inside Plesk:

    # plesk sbin packagemng -sdf

More information available in MySQL documentation at http://dev.mysql.com/.

Was this article helpful?

Comments

89 comments
Date Votes
  • Olivier Could you please open a support ticket with us in order to troubleshoot directly on the server? https://support.plesk.com/hc/en-us/articles/12377663472791-How-to-submit-a-request-to-Plesk-support

    1
  • I ran into the "A manual upgrade is required." issue too, going from MariaDB 10.6 to 10.11.

    This helped me:

    MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysqldump -u admin --verbose --all-databases --routines --triggers > /tmp/all-databases.sql
    systemctl stop mariadb
    cp -v -a /var/lib/mysql/ /var/lib/mysql_backup
    rpm -q --whatprovides mysql-server
    rpm -e --nodeps `rpm -q --whatprovides mysql-server`

    This removes the old MariaDB without removing dependencies and then the upgrade succeeds.

    @Plesk support: this should be added to the manual. Currently it isn't correct.

    P.S. I'm on Almalinux 8.

    1
  • I need to upgrade database from MariaDB 10.3.39 to 10.11 but there is no instructions for MariaDB for CloudLinux (7.9) ?
    Product: Plesk Obsidian v18.0.57

    1
  • I had an issue trying to upgrade a production server and was offline for a few hours.
    I followed the wrong instructions glad I had a good backup. I found this help page to be spot on with a new OS Rocky8.9 and Plesk. I did an update as root using ssh.

    I followed the instruction and now I can get on with the final configuration
    Thank you

    1
  • Hello I've done the update and now plesk and our entire server is not working. The error we are getting is the following:

    ● mariadb.service - MariaDB 10.11.8 database server
         Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
        Drop-In: /etc/systemd/system/mariadb.service.d
                 └─migrated-from-my.cnf-settings.conf
         Active: failed (Result: exit-code) since Mon 2024-05-27 13:30:36 UTC; 8s ago
           Docs: man:mariadbd(8)
                 https://mariadb.com/kb/en/library/systemd/
        Process: 3336854 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
        Process: 3336866 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
        Process: 3336868 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, s>
        Process: 3336903 ExecStart=/usr/sbin/mariadbd $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=1/FAILURE)
       Main PID: 3336903 (code=exited, status=1/FAILURE)
         Status: "MariaDB server is down"

    May 27 13:30:35 ns3218302 mariadbd[3336903]: 2024-05-27 13:30:35 0 [Note] Plugin 'FEEDBACK' is disabled.
    May 27 13:30:35 ns3218302 mariadbd[3336903]: 2024-05-27 13:30:35 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
    May 27 13:30:35 ns3218302 mariadbd[3336903]: 2024-05-27 13:30:35 0 [Warning] You need to use --log-bin to make --expire-logs-days or --binlog-expire-logs-seconds work.
    May 27 13:30:35 ns3218302 mariadbd[3336903]: 2024-05-27 13:30:35 0 [Note] Server socket created on IP: '127.0.0.1'.
    May 27 13:30:35 ns3218302 mariadbd[3336903]: 2024-05-27 13:30:35 0 [ERROR] Can't start server: Bind on TCP/IP port. Got error: 22: Invalid argument
    May 27 13:30:35 ns3218302 mariadbd[3336903]: 2024-05-27 13:30:35 0 [ERROR] Do you already have another server running on port: 3306 ?
    May 27 13:30:35 ns3218302 mariadbd[3336903]: 2024-05-27 13:30:35 0 [ERROR] Aborting
    May 27 13:30:36 ns3218302 systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
    May 27 13:30:36 ns3218302 systemd[1]: mariadb.service: Failed with result 'exit-code'.
    May 27 13:30:36 ns3218302 systemd[1]: Failed to start MariaDB 10.11.8 database server.

    I checked and there's no process using port 3306 I'm not sure what can I do please we need a solution for this

    Update: In case somebody faces this issue I solved it by following this guide: https://support.plesk.com/hc/en-us/articles/12376924598935-Unable-to-start-MariaDB-10-6-on-a-Plesk-server-Bind-on-TCP-IP-port-Got-error-22-Invalid-argument

    The only thing is that I had the my.coinf file in a nother folder but besides that looks like it's working fine

     

     

    1
  • Michel CLAR  hi!, please show me the output of:

    cat /usr/local/psa/admin/conf/panel.ini
    1
  • Michel CLAR  instead of [DatabaseManagement]
     please go for [databaseManagement]
     

    1
  • Worked in a very short time.
    “d” instead of “D” in “databaseManagement” was the solution
    Thanks for helping so efficiently

    1
  • According to Plesk Changelog, MariaDB 10.11 is supported since Plesk Obsidian 18.0.52, right ?

    1
  • Julian Bonpland Mignaquy  It appears you forgot what the topic was about. I don't need support, it is clear that I already upgraded manually 3 times. It worked OK for me (I've been +10 years sysadmin, this is routine). But I'm telling you MariaDB is deprecating “mysql” based commands on which Plesk relies on, therefore the symlinks are getting removed, at least on Debian based systems. So that is something Plesk needs to look carefully. That's all I'm saying.

    1
  • Hi,
    @Julian Bonpland Mignaquy 
    I forgot to specify, I have the same problem on two servers.
    I had performed the manual procedure because the automatic procedure did not exist before.
    I cannot open a support ticket because my license was purchased via my host OVH. I did not know this condition.
    I found this link:
    https://talk.plesk.com/threads/maria-db-update-fail-autoupdate-no-longer-works.374503/page-2
    What do you think?
    Cordialy,

    1
  • Hi Olivier  please open a support ticket with OVH, they will most likely escalate with us in order to investigate this on your servers.

    1
  • CloudLinux 7.9 with MariaDB 10.3 upgrade to 10.4 didn't go smoothly.

    Error: "Enabled repositories check http://yum.mariadb.org/10.3/centos7-amd64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found Trying other mirror. It looks like you encountered an issue when performing the operation. Please check if the issue related to CloudLinux repositories. Usually our repositories contain "cloudlinux" word in their name. If it does, check our knowledgebase for a possible solution or contact support: https://www.cloudlinux.com/support-portal/ In other cases, please contact your system administrator to fix the issue. Unable to create yum cache for 'mariadb' OS repository. Make sure the repository is available, otherwise either disable it or fix its configuration, then try again."

    Eventually I found a fix (yeah didn't have a major panic in the meantime) 
    Used this NOT recommended fix to fix this but that worked thank the stars.

    https://support.plesk.com/hc/en-us/articles/12376955888919-Plesk-or-system-update-fails-on-Linux-http-yum-mariadb-org-10-1-centos7-amd64-repodata-repomd-xml-Errno-14-HTTP-Error-404-Not-Found

     

    1
  • I wish the article could provide more info about issues may arise during the upgrade process.
    I have this issue blocking upgrade process, Restarting MySQL server ... Running mysqlcheck ... cloudfil_cloud.user_level warning  : Found row where the auto_increment column has the value 0 The command exit code: 0

    1
  • Hello, 
    Thank you for bringing this to our attention! I've reproduced this behavior and reported it to the Plesk development team.

    1
  • Hello Sistemas CQM 
    This is an addition to my previous comment. Plesk development team investigated the situation with mariadb.list.old file. It appeared that the file is created by the MariaDB update script itself. 

    local suffix=0
    while [[ -e $outfile.old_$((++suffix)) ]]; do :; done
    msg warning "Found existing file at $outfile. Moving to $outfile.old_$suffix"
    if ! mv "$outfile" “$outfile.old_$suffix”

    Here is where the script can be downloaded: 
    https://mariadb.com/docs/server/server-management/install-and-upgrade-mariadb/installing-mariadb/binary-packages/mariadb-package-repository-setup-and-usage 

    This is considered a cosmetic issue. When the script will be changed by MariaDB developers, it will also be changed in Plesk. 
    Thank you for your report!

    1
  • On Plesk Version 18.0.49 Update #2, Ubuntu 18.04, and upgrading MariaDB from 10.1 to 10.6.1.  The instructions here didn't work for me as is. Here are the changes in hopes it will help others in my scenario:

    1. In Step 1, I had to be the root user (ie. "sudo -s").  Otherwise I would get a "Permission denied" error trying to access the password file.
    2. In Step 6, the mariadb-server wouldn't restart with the error mentioned in this article.  However, the "/etc/my.cnf" file mentioned in that article did not exist on my system. Instead I made the edit to the "/etc/mysql/my.cnf" file  (ie. changing the line "bind-address = ::ffff:127.0.0.1" to "bind-address = 127.0.0.1"). Then restarting the mariadb-server succeeded and the rest of the instructions seemed to go as planned.
    1
  • Is there any procedure like this but for Windows?

    1
  • For almalinux the repo file you provided is wrong

     

    the correct is:

     

    [mariadb]
    name = MariaDB
    baseurl = http://yum.mariadb.org/10.6/rhel8-amd64
    gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    gpgcheck=1
    priority=1
    module_hotfixes=1

    1
  • there were many many useful comments on this article over the years but disappeared

    Could you bring back?

    0
  • Hi Julian, we're using Plesk Obsidian v18.0.54 on CentOS 7, and the current MySQL version is MariaDB 5.5.68 

    only for upgrading default MariaDB 5.5 to the MariaDB 10.5 version

    Since I cannot afford to mess anything up, I want to be crystal clear what you mean by "default" 5.5. Is this only 5.5.0? Would our 5.5.68 qualify for the Automatic Method above, or is Manual mode necessary? What's the likelihood of this failing and what would one do at that point? Reinstall 5.5.68 manually and import from backup?

    Thanks. I think twice before running significant command lines that could cost me many hours of precious time.

    0
  • Hi LRob.fr Web Hosting  yes upgrading to 11.4 is not supported by the automatic script. You need to follow the manual procedure:

    Please try our Manual procedure and let us know,

    0
  • @Julian Bonpland Mignaquy 

    Like I said, I've reproduced this issue on 3 installs, latest one was a fresh Debian 12 from Hetzner (dedicated) with Plesk just installed (that installed MariaDB 10.4 itself in the first place).
     

    After upgrading, the symlinks are not there anymore. It is to be noted that I upgrade MariaDB myself with “apt” by updating the repos using the official MariaDB script, not the automated script way from Plesk.

    Ultimately, MariaDB even warns you about the “mysql” command being deprecated, after adding the symlinks.

    root@srv02 ~ # mysql -V
    mysql: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadb' instead
    mysql from 11.4.5-MariaDB, client 15.2 for debian-linux-gnu (x86_64) using  EditLine wrapper

     

    Since I've resolved the issue myself I won't take the time ot open a support ticket, but I invite you to dig a bit more, as the issue is consistent, and due to MariaDB's policy that wishes to remove “mysql” commands.

    0
  • Hi @Julian Bonpland Mignaquy
    Thanks for your feedback.
    When I did the manual procedure a few months ago, I didn't see any errors.
    Recently, I wanted to install the new version of imunify and I noticed this error.
    If I do an apt-get update, the error is still there.
    Here is mariadb.list complete
    # MariaDB Server
    # To use a different major version of the server, or to pin to a specific minor version, change URI below.
    deb [arch=amd64,arm64] https://dlm.mariadb.com/repo/mariadb-server/10.11/repo/debian buster main
    # MariaDB MaxScale
    # To use the latest stable release of MaxScale, use "latest" as the version
    # To use the latest beta (or stable if no current beta) release of MaxScale, use "beta" as the version
    deb [arch=amd64,arm64] https://dlm.mariadb.com/repo/maxscale/latest/apt buster main
    # MariaDB Tools
    deb [arch=amd64] http://downloads.mariadb.com/Tools/debian buster main
    Many Thanks

    0
  • LRob.fr Web Hosting i followed the following section and there were no issues with the symlinks:

    root@10-69-45-223:~# ls -l /usr/bin/mysql*
    lrwxrwxrwx 1 root root  7 Jan 30 18:03 /usr/bin/mysql -> mariadb
    lrwxrwxrwx 1 root root 28 Jan 30 18:03 /usr/bin/mysql_convert_table_format -> mariadb-convert-table-format
    lrwxrwxrwx 1 root root 17 Jan 30 18:03 /usr/bin/mysql_find_rows -> mariadb-find-rows
    lrwxrwxrwx 1 root root 22 Jan 30 18:03 /usr/bin/mysql_fix_extensions -> mariadb-fix-extensions
    lrwxrwxrwx 1 root root 18 Jan 30 18:03 /usr/bin/mysql_install_db -> mariadb-install-db
    lrwxrwxrwx 1 root root 14 Jan 30 18:03 /usr/bin/mysql_plugin -> mariadb-plugin
    lrwxrwxrwx 1 root root 27 Jan 30 18:03 /usr/bin/mysql_secure_installation -> mariadb-secure-installation
    lrwxrwxrwx 1 root root 21 Jan 30 18:03 /usr/bin/mysql_setpermission -> mariadb-setpermission
    lrwxrwxrwx 1 root root 21 Jan 30 18:03 /usr/bin/mysql_tzinfo_to_sql -> mariadb-tzinfo-to-sql
    lrwxrwxrwx 1 root root 15 Jan 30 18:03 /usr/bin/mysql_upgrade -> mariadb-upgrade
    lrwxrwxrwx 1 root root 15 Jan 30 18:03 /usr/bin/mysql_waitpid -> mariadb-waitpid
    lrwxrwxrwx 1 root root 14 Jan 30 18:03 /usr/bin/mysqlaccess -> mariadb-access
    lrwxrwxrwx 1 root root 13 Jan 30 18:03 /usr/bin/mysqladmin -> mariadb-admin
    lrwxrwxrwx 1 root root 13 Jan 30 18:03 /usr/bin/mysqlanalyze -> mariadb-check
    lrwxrwxrwx 1 root root 14 Jan 30 18:03 /usr/bin/mysqlbinlog -> mariadb-binlog
    lrwxrwxrwx 1 root root 13 Jan 30 18:03 /usr/bin/mysqlcheck -> mariadb-check
    lrwxrwxrwx 1 root root 14 Jan 30 18:03 /usr/bin/mysqld_multi -> mariadbd-multi
    lrwxrwxrwx 1 root root 13 Jan 30 18:03 /usr/bin/mysqld_safe -> mariadbd-safe
    lrwxrwxrwx 1 root root 20 Jan 30 18:03 /usr/bin/mysqld_safe_helper -> mariadbd-safe-helper
    lrwxrwxrwx 1 root root 12 Jan 30 18:03 /usr/bin/mysqldump -> mariadb-dump
    lrwxrwxrwx 1 root root 16 Jan 30 18:03 /usr/bin/mysqldumpslow -> mariadb-dumpslow
    lrwxrwxrwx 1 root root 15 Jan 30 18:03 /usr/bin/mysqlhotcopy -> mariadb-hotcopy
    lrwxrwxrwx 1 root root 14 Jan 30 18:03 /usr/bin/mysqlimport -> mariadb-import
    lrwxrwxrwx 1 root root 13 Jan 30 18:03 /usr/bin/mysqloptimize -> mariadb-check
    lrwxrwxrwx 1 root root 13 Jan 30 18:03 /usr/bin/mysqlrepair -> mariadb-check
    lrwxrwxrwx 1 root root 14 Jan 30 18:03 /usr/bin/mysqlreport -> mariadb-report
    lrwxrwxrwx 1 root root 12 Jan 30 18:03 /usr/bin/mysqlshow -> mariadb-show
    lrwxrwxrwx 1 root root 12 Jan 30 18:03 /usr/bin/mysqlslap -> mariadb-slap

    Most likely the symlinks were broken from before. If you still wish us to investigate please open a support ticket with us https://support.plesk.com/hc/en-us/articles/12377663472791-How-to-submit-a-request-to-Plesk-support

     

    0
  • Olivier  do you see the Manual Procedure section? Could you please specify which step is returning an error?

    0
  • For your info, after upgrading to MariaDB 11.4 on Debian 12, the various “mysql” commands don't exist anymore (reproduced 3 times).

    Since we need them for many things still, you have to re-create symlinks manually.

    Here they are:

    ln -s mariadb /usr/bin/mysql
    ln -s mariadb-convert-table-format /usr/bin/mysql_convert_table_format
    ln -s mariadb-find-rows /usr/bin/mysql_find_rows
    ln -s mariadb-fix-extensions /usr/bin/mysql_fix_extensions
    ln -s mariadb-install-db /usr/bin/mysql_install_db
    ln -s mariadb-plugin /usr/bin/mysql_plugin
    ln -s mariadb-secure-installation /usr/bin/mysql_secure_installation
    ln -s mariadb-setpermission /usr/bin/mysql_setpermission
    ln -s mariadb-tzinfo-to-sql /usr/bin/mysql_tzinfo_to_sql
    ln -s mariadb-upgrade /usr/bin/mysql_upgrade
    ln -s mariadb-waitpid /usr/bin/mysql_waitpid
    ln -s mariadb-access /usr/bin/mysqlaccess
    ln -s mariadb-admin /usr/bin/mysqladmin
    ln -s mariadb-check /usr/bin/mysqlanalyze
    ln -s mariadb-binlog /usr/bin/mysqlbinlog
    ln -s mariadb-check /usr/bin/mysqlcheck
    ln -s mariadbd-multi /usr/bin/mysqld_multi
    ln -s mariadbd-safe /usr/bin/mysqld_safe
    ln -s mariadbd-safe-helper /usr/bin/mysqld_safe_helper
    ln -s mariadb-dump /usr/bin/mysqldump
    ln -s mariadb-dumpslow /usr/bin/mysqldumpslow
    ln -s mariadb-hotcopy /usr/bin/mysqlhotcopy
    ln -s mariadb-import /usr/bin/mysqlimport
    ln -s mariadb-check /usr/bin/mysqloptimize
    ln -s mariadb-check /usr/bin/mysqlrepair
    ln -s mariadb-report /usr/bin/mysqlreport
    ln -s mariadb-show /usr/bin/mysqlshow
    ln -s mariadb-slap /usr/bin/mysqlslap
    0
  • Hello,
    I have a problem in the repository : mariadb.list
    E: The repository 'https://dlm.mariadb.com/repo/maxscale/latest/apt buster Release' no longer has a Release file.
    Some time ago I had manually updated the version of mariadb to 10.11 with one of your methods. It seems to me that the article has been replaced by the automatic method.
    /etc/apt/sources.list.d/mariadb.list
    deb [arch=amd64,arm64] https://dlm.mariadb.com/repo/maxscale/latest/apt buster main
    I can't find the right repository.
    Can you help me?
    Product version: Plesk Obsidian 18.0.67.0
    OS version: Debian 10.13 x86_64
    Thank you a lot,

    0
  • We had a bit of an issue on Ubuntu 18.04:

    root@x:~# curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.4
    # [info] Checking for script prerequisites.
    # [warning] Found existing file at /etc/apt/sources.list.d/mariadb.list. Moving to /etc/apt/sources.list.d/mariadb.list.old_6
    # [info] MariaDB Server version 10.4 is valid
    # [info] Repository file successfully written to /etc/apt/sources.list.d/mariadb.list
    # [info] Adding trusted package signing keys...
    # [info] Running apt-get update...
    E: The repository 'https://dlm.mariadb.com/repo/maxscale/latest/apt bionic Release' does not have a Release file.
    # [error] Failed to add trusted package signing keys

     

    To fix this, we updated the repository file /etc/apt/sources.list.d/mariadb.list with an updated download URL for MariaDB, from their website https://mariadb.org/download/?t=repo-config. From this link, you will also be able to choose a version of MariaDB which is currently available to download, as 10.2 is no longer available even though it is specified in this article.

    # MariaDB 10.4 repository list - created 2023-08-30 13:03 UTC
    # https://mariadb.org/download/
    # deb.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
    # deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://deb.mariadb.org/10.4/ubuntu bionic main
    deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://mariadb.gb.ssimn.org/repo/10.4/ubuntu bionic main
    # deb-src [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://mariadb.gb.ssimn.org/repo/10.4/ubuntu bionic main

    Note that by copying this you will be using a UK Mirror Server to download the distribution. 

    Then running apt-get update and apt-get install mariadb-server should work. 

    0

Please sign in to leave a comment.