This article will provide information about WHM and cPanel databases. We will first start with an overview of the two databases that are automatically generated on the server:
cphulkd – This database will log information from the cpHulk utility on your server including authentications, blacklists, brute force attacks, and etc. If you ever have an issue with logging in to your server, whether it be via cPanel, WHM, ssh, or email, flushing this database will most likely fix your login problem.
eximstats – This database pulls data from the exim mainlog and syslog. The eximstats database will have data tables that cover defers, mail failures, sends, and smtp. This database can get rather large and flushing it will not cause any issues on your server. To clear the eximstats database first log in to WHM, go to Home > SQL Services > phpMyAdmin > click on eximstats > check all tables > empty. This database allows us to find more detailed errors regarding your email. If you are having issues with your email please do not clear this database as we may need to refer to it to resolve your issue.
Every cPanel comes equipped with a browser based utility to manage databases called phpMyAdmin. Using this utility you have the ability to add/remove tables, import/export the database, edit your database, and ect. You can access phpMyAdmin through WHM: Home > SQL Services > phpMyAdmin as well as through cPanel: Home > Databases > phpMyAdmin.
If you choose to access phpMyAdmin through WHM you will see every database that is on the server including cPanel databases, default databases, and all databases that are functioning in the servers background. The reason for this is because you are at the root level of the server.
There are third party MySQL managers that you can choose to use as well including MySQL Workbench, and HeidiSQL. In order to connect with one of these utilities you will need to know the host name (your server’s IP), mysql port (3306), database name, username, and password.
Restarting MySQL services on your cloud.
With in WHM, you have the ability to restart the MySQL services in the event it gets stuck or just needs to be restarted. WHM provides the location in 2 places as well as the ability to search for it as well as we can see in the image below:
Once selected for the specific service we are restarting, we will be prompted to confirm and the service will restart as seen below:
Creating a database with in cPanel
In order to create a database in cPanel you will first need to log in to your cPanel account. If you have access through WHM, you can access the cPanel account via Home > Account Information > List Accounts. If you do not have access to WHM, you should have the URL, username, and password associated to the cPanel account a long the lines ofhttps://cpanel.domain.tld, https://cloudIP:2083.
Once logged in to your cPanel account you will want to direct to the Databases section of the account and select ‘MySQL Databases’, as shown below:
Selecting this will take you to the following screen which will provide you the ability to create and manage databases and their associated users.
Here we are able to create databases, associate a new or current user to databases, and provide permissions of those users to the database.
In the example shown above we see the user creation process, adding a user to a database, giving permissions for access, and the confirmation. When creating a database user as shown above, we want to make sure the password associated is strong as this is what is used to access said database. If we were to use a weak password we would be leaving access open to potential hackers. This also goes towards privileges being provided. So remember, only provide the right amount of privileges to a user that is necessary to get the job done!
Once we have created the user, the database, and assigned the user to the database, we will be able to see a list of current databases and their privileged users at the top of the page as shown below: