Manage MySQL® Profiles

Valid for versions 88 through the latest version

Version:

82

88


Last modified: October 22, 2020

Overview

This interface allows you to manage multiple MySQL® profiles. A profile defines the connection information for a local or remote MySQL server.

You may wish to use a separate MySQL server if, for example, you manage particularly busy servers or servers with large databases. You can offload MySQL-related work to the remote MySQL server.

Remote MySQL servers include other cPanel & WHM servers that run MySQL, a dedicated MySQL server, and the Amazon Relational Database™ Service (RDS).

Warning:

If both of the following conditions are true, you may introduce a security vulnerability:

  • The local server runs MySQL 5.7.
  • The remote server runs MySQL 8.0 and later or Amazon RDS.

This will copy a profile for the root MySQL user to the remote server with the % host. This will allow the root MySQL user to connect from any IP address. Either of the following solutions will resolve the problem:

  • Upgrade the local cPanel & WHM server to MySQL 8.0.
  • Add a root user to the remote server that is only allowed to log in from the local server’s IP address.
Note:

If the remote server runs MySQL 8.0 installed from the community repository and you have authentication issues, read our Troubleshoot MySQL® Profiles documentation.

Important:
  • This feature only allows active connections to servers that run the following database versions:

    • MySQL versions 5.6, 5.7, and 8.0.
    • MariaDB versions 10.1, 10.2, and 10.3.
  • You can use MySQL versions 5.7 or 8.0 on Amazon RDS servers. We do not support MariaDB or Amazon Aurora (Aurora) on Amazon RDS servers.

  • A /root/.my.cnf file must exist on any remote MySQL servers, and this file must contain the MySQL root user and password.

  • Amazon RDS uses the plaintext MySQL protocol. For security and performance reasons, we strongly recommend that only you connect to an Amazon RDS from an EC2™ instance in the same availability zone.

  • When you suspend a cPanel account, the system will not suspend any of the account’s Amazon RDS remote databases.

Remote MySQL server information

The Manage MySQL Profiles interface configures the remote server to work with your MySQL setup. After you configure the remote server, you must manually transfer your existing MySQL data to that server and configure your accounts’ applications to use that server. Any new databases that you create will exist on the remote MySQL server.

For example, If you move an existing WordPress® database to the remote server, you must also update the WordPress server’s configuration files to use the new server.

Warning:
  • Before you set up a remote MySQL server, ensure that you install the openssh-clients package on your local cPanel & WHM server. You cannot set up a remote MySQL server without this package.

  • We strongly recommend that you only connect one cPanel & WHM server to each remote MySQL server. If you connect multiple cPanel & WHM servers to one remote MySQL server, you may experience database and username conflicts.

  • This feature does not automatically transfer your MySQL data.

  • Do not use the q option in your server’s MySQL configuration. This option can cause problems on any server. It will create more problems on remote MySQL servers, during account transfers and restorations, and with phpMyAdmin.

MySQL profile information

The interface displays the following columns for each MySQL profile:

  • Profile — The name of the MySQL profile.

  • Host — The MySQL server’s IP address or hostname.

  • Port — The MySQL server’s port number.

  • User — The SSH or MySQL username that you will use to authenticate to this host.

  • Type — A description of the profile data.

  • Actions — Click one of the following icons to perform the appropriate action:

    • Validate — Test the profile’s MySQL server settings.

    • Activate — Set this profile as the active profile. A green lightning bolt icon () indicates the currently-active profile.

      Note:
      You may only select one active profile at a time.

    • Delete — Delete the profile.

      Note:
      You cannot delete the active profile.

    • — Edit the profile.

Add profile

Note:
If no active profile exists, the system uses the information in the /root/.my.cnf file to generate an active profile.

To create a new MySQL profile, perform the following steps:

  1. Click Add Profile. A new interface will appear.

  2. Enter the desired MySQL profile name in the Profile Name text box.

    Note:
    After you save the MySQL profile name, you cannot change it.

  3. Select a method to use to configure the new profile:

    • Automatically create a MySQL superuser via SSH — Select this method to create the new profile manually.

    • Manually enter an existing MySQL superuser’s credentials — Select this method to manually enter the new profile’s information.

      Important:
      • You must select this option if you use Amazon RDS.

      • To create a MySQL superuser, make certain that the user possesses the following privileges:

       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      
      SELECT
      ALTER
      ALTER ROUTINE
      CREATE
      CREATE ROUTINE
      CREATE TEMPORARY TABLES
      CREATE USER
      CREATE VIEW
      DELETE
      DROP
      EXECUTE
      EVENT
      INDEX
      INSERT
      REFERENCES
      RELOAD
      UPDATE
      SHOW DATABASES
      SHOW VIEW
      TRIGGER
      LOCK TABLES

      • Amazon RDS does not allow you to grant the Super privilege to users.
      Note:
      If you use Amazon RDS, enter the username and password that you configured when you deployed your Amazon RDS instance.

  4. Enter the appropriate information for the configuration method that you selected.

    • Automatically create a MySQL superuser via SSH

      • Host — The MySQL server’s IP address or hostname.

        Warning:
        You can enter a public or private IP address. However, make certain that the MySQL server can resolve the cPanel & WHM server’s IP address to its fully-qualified hostname.

      • SSH Port — The SSH service’s port number. You must enter a port number between 1 and 65535.

        Note:
        If the server resides behind a firewall, you will need to configure the firewall to allow traffic through the port that you select. For more information, read our How to Configure Your Firewall for cPanel & WHM Services documentation.

      • Username — The username for the SSH connection.

      • Authentication Method — Select the desired authentication method.

      • Password — Use a password to authenticate. Enter your SSH password in the Password text box.

      • SSH Key — Use an SSH key to authenticate. Enter your SSH key’s name in the SSH Key text box.

      • Password — The password for the SSH connection.

        Note:
        This setting only appears when you select the Password for the Authentication Method setting.

      • SSH Key — The name of the SSH key to use to log in to the remote server.

        Note:
        • This setting only appears when you select the SSH Key for the Authentication Method setting.
        • Use WHM’s Manage Root’s SSH Keys interface (WHM >> Home >> Security >> Manage Root’s SSH Keys) to add SSH keys.

    • Manually enter an existing MySQL superuser’s credentials

      • Host — The MySQL server’s IP address or hostname.

        Warning:
        You can enter a public or private IP address. However, make certain that the MySQL server can resolve the cPanel & WHM server’s IP address to its fully-qualified hostname.

      • Port — The MySQL server’s port number. You must enter a port number between 1 and 65535.

        Note:
        If the server resides behind a firewall, you will need to configure the firewall to allow traffic through the port that you select. For more information, read our How to Configure Your Firewall for cPanel & WHM Services documentation.

      • Username — The MySQL superuser’s username.

      • Password — The MySQL superuser’s password.

  5. Click Save.

Remember:

For more information, read our Troubleshoot MySQL® Profiles documentation.

Edit profile

To edit a MySQL profile, perform the following steps:

  1. Click the arrow icon next to the profile you wish to edit. A new interface will appear.

    Note:
    You cannot change the profile’s name. If you wish to use a different profile name for a connection, you must delete and recreate the profile with a new name.

  2. If you wish to change the hostname, enter the new MySQL server’s IP address or hostname in the Host text box.

    Warning:
    You can enter a public or private IP address. However, make certain that the MySQL server can resolve the cPanel & WHM server’s IP address to its fully-qualified hostname.
    :

  3. If you wish to change the port number, enter the new port number in the Port text box.

    Note:
    If the server resides behind a firewall, you will need to configure the firewall to allow traffic through the port that you select. For more information, read our How to Configure Your Firewall for cPanel & WHM Services documentation.

  4. If you wish to change the MySQL superuser’s username for the connection, enter the new username in the Username text box.

  5. If you wish to change the MySQL superuser’s password for the connection, enter the new password in the Password text box.

  6. Click Save to save your changes, or click Cancel to cancel the changes.

Additional Documentation