Plesk

How to reinstall phpMyAdmin in Plesk for Linux

Question

How to reinstall phpMyAdmin in Plesk?

Answer

  1. Connect to a Plesk server via SSH.

  2. Get the phpMyAdmin database name and MySQL username:

    • Database name

      # grep pmadb /usr/local/psa/phpMyAdmin/config.plesk.php | grep -v NOTE

      $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';

    • Username

      # grep controluser /usr/local/psa/phpMyAdmin/config.plesk.php | grep -v NOTE

      $cfg['Servers'][$i]['controluser'] = 'phpmyadmin';

  3. Check if the phpmyadmin database exists on the server:

    # plesk db "show databases like '%phpmy%'"
    +--------------------+
    | Database (%phpmy%) |
    +--------------------+
    | phpmyadmin         |
    +--------------------+

    Note: Databases with the names like phpmyadmin_XXXXXXXXXXXX are likely to be the customers' databases. Do not remove them.

    If it is, create a backup this database:

    # plesk db dump phpmyadmin > /root/phpmyadmin.sql

  4. Remove this database from MySQL:

    # plesk db "drop database phpmyadmin"

  5. Check if the phpmyadmin user exists in the mysql.user table:

    # plesk db "select User from mysql.user where User like '%phpmy%'"
    +------------------+
    | User       |
    +------------------+
    | phpmyadmin |
    +------------------+

    If it is, create a backup of the MySQL database:

    # plesk db dump mysql > /root/mysql`date +%F_%H.%M`.sql

    And remove this user:

    # plesk db "DROP USER 'phpmyadmin'@'localhost'"

  6. Restart MariaDB/MySQL:

    # systemctl restart mariadb

  7. Remove the phpMyAdmin package:

    • on CentOS/RHEL-based distributions

      # rpm -e --nodeps psa-phpmyadmin

    • on Debian/Ubuntu-based distributions

      # dpkg -r --force-depends psa-phpmyadmin

  8. Reinstall phpMyAdmin:

    # plesk installer update

    Note: If the "phpMyAdmin was configured without configuration storage in database" warning is shown during phpMyAdmin reinstallation, it means that either the phpmyadmin database or user have not been set up because they already exist in the system. Make sure the database and the user are deleted and then repeat the reinstallation.

 

If the steps above did not help

If after the above actions phpMyAdmin had no entries in the database or the file /usr/local/psa/phpMyAdmin/config.plesk.php is missing:

  1. Create the main configuration file from a sample file:

    # cp /usr/local/psa/phpMyAdmin/config.plesk.php.tpl /usr/local/psa/phpMyAdmin/config.plesk.php

  2. Edit it as follows:

    /* User used to manipulate with storage /
    $cfg['Servers'][$i]['controlhost'] = 'localhost';
    $cfg['Servers'][$i]['controlport'] = '';
    $cfg['Servers'][$i]['controluser'] = 'phpmyadmin';
    $cfg['Servers'][$i]['controlpass'] = '<password>';

    /
    Storage database and tables */
    $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
    $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
    $cfg['Servers'][$i]['relation'] = 'pma__relation';
    $cfg['Servers'][$i]['table_info'] = 'pma__table_info';

  3. Connect to MySQL:

    # plesk db

  4. Switch to the MySQL database:

    use mysql;

  5. Create a corresponding user:

    MariaDB [mysql]> CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY '<password>';

    MariaDB [mysql]> GRANT ALL ON *.* TO 'phpmyadmin'@'localhost' with grant option;

  6. Create a corresponding database:

    MariaDB [mysql]> create database phpmyadmin;