Database management in cPanel

Update: Click here for a guide on how to Backup or export a database or table.

cPanel includes several tools for managing databases in your account. The MySQL Database Wizard is a quick way to create databases, database users, and to associate the two. The MySQL Databases area will show you all the databases and users you’ve created and help you manage their creation and deletion. When it comes to management there are two tools that I find most helpful for editing, searching, importing, and exporting content within your databases.

The first tool is built right into cPanel called phpMyAdmin. This is actually a third-party piece of software that cPanel has integrated into the control panel to manage your databases. You’ll still create and delete databases and users with the previously mentioned database management areas, however phpMyAdmin shines at allowing you to see and modify the content within those databases as well as giving you good import and export options.

While the look and feel of phpMyAdmin hasn’t changed much over the years, it does a good job of showing you what you need to know. A list of your databases is available on the left sidebar. Across the top are all the various tools to interact with the selected database from browsing or searching the data, running queries on the database, or backing up and restoring the database. You have the option of running commands on particular tables here as well as the entire database. While some of the terminology can tend towards complex jargon, other sections are pretty straightforward, this backup section for example:

Although phpMyAdmin can be convenient because it’s built right into cPanel, there are also desktop applications that you can take advantage of for management of your databases. A popular one is Sequel Pro for Mac (and best of all, it’s free!). In order to use Sequel Pro or any tool outside of cPanel, you’ll need to give your internet connection permission to access the databases. This is done using the Remote MySQL section in cPanel. The way we identify your computer’s connection is by its IP Address, which is a unique address assigned to your computer by your network provider when you connect. You can find yours by going to http://ip4.me/ or even asking Google. Once you have your IP address you can enter it into the Remote MySQL section and you’ll now have permission to connect to your databases from your internet connection. If your IP address changes you’ll need to update it in that area.

In Sequel Pro you can connect to individual databases by putting in credentials that have access to that database (as well as your domain as the host). Keep in mind this is not your cPanel username and password, rather the username and password for a Database User that has access to the database you want to manage. Once connected you can take advantage of the tools in Sequel Pro to manage your database in the same way as with phpMyAdmin.

Do you have recommendations for a free Windows remote database management tool that is similar to Squel Pro?

A popular cross-platform one is MySQL Workbench https://www.mysql.com/products/workbench/

Thanks, I also had a recommendation for HeidiSQL https://www.heidisql.com/

I’m looking at a couple of faculty projects that are built on collaborative work in SQL DBs. Adding in student’s IPs might be manageable on the small scale (less than 10 students), but in one class we have more like 200 students. Presumably there would be IP address changes throughout the semester also. Does anyone have recommendations for setting up remote access at that scale?

Two thoughts:

  1. You can use wildcards so I’ve seen some scenarios where (though it’s a security risk) you can add %.%.%.% as a wildcard and all IP addresses then can access the database remotely. If you are limiting to an IP range you could do something like 123.456.%.% for a CIDR block.

  2. For server admins this can also be done at the server level in WHM Additional MySQL Access Hosts - Version 68 Documentation - cPanel Documentation

Thank you for the post!

I got stuck with PHPStorm when trying to connect, but the issue was that I was selecting to add a MariaDB database instead of a MySQL database.

Thought I would note that down here in case anyone else goes through the same thing.