How to check MySQL database and table sizes

This article demonstrates how to check the size of MySQL databases and tables. You can do this by using the phpMyAdmin web interface or by using the command-line mysql program.

To watch a video that demonstrates the following procedures, please click below:

Using phpMyAdmin

You can use the phpMyAdmin web interface to check the sizes of MySQL databases and tables. To do this, follow these steps:

  1. Log in to cPanel.
    If you do not know how to log in to your cPanel account, please see this article.
  2. In the DATABASES section of the cPanel home screen, click phpMyAdmin:

    cPanel - Databases - phyMyAdmin icon

    The phpMyAdmin administration page appears in a new window.

  3. In the left pane, click the name of the database that you want to view.
  4. In the right pane, locate the Size column. phpMyAdmin lists the size of each table in the database:

    phpMyAdmin - table size

  5. To obtain the total size of the database, scroll down to the end of the Size column:

    phpMyAdmin - database size

    If the database contains a large number of tables, you may need to click the > icon to advance to the next page of tables. To obtain the total database size, add together the size totals from each page.

Using the mysql command-line program

You can use the mysql command-line program to check the sizes of MySQL databases and tables. To do this, follow these steps:

  1. Log in to your account using SSH.
  2. At the command line, type the following command, replacing username with your A2 Hosting account username:
    mysql -u username -p
  3. At the Enter Password prompt, type your password. When you type the correct password, the mysql> prompt appears.
  4. To check the sizes of all of your databases, at the mysql> prompt type the following command:

    SELECT table_schema AS "Database", 
    ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)" 
    FROM information_schema.TABLES 
    GROUP BY table_schema;
    Depending on how many databases you have and how large they are, this command may take a minute or two to complete. After the command finishes, it lists of all of your databases and their corresponding size (in megabytes).
  5. To check the sizes of all of the tables in a specific database, at the mysql> prompt, type the following command. Replace database_name with the name of the database that you want to check:

    SELECT table_name AS "Table",
    ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)"
    FROM information_schema.TABLES
    WHERE table_schema = "database_name"
    ORDER BY (data_length + index_length) DESC;
    After the command finishes, it lists all of the tables and their corresponding size (in megabytes), with the largest table at the top and the smallest table at the bottom.

More Information

Get MySQL Hosting

Article Details

  • Level: Intermediate

Did you find this article helpful? Then you'll love our support. Experience the A2 Hosting difference today and get a pre-secured, pre-optimized website. Check out our web hosting plans today.

We use cookies to personalize the website for you and to analyze the use of our website. You consent to this by clicking on "I consent" or by continuing your use of this website. Further information about cookies can be found in our Privacy Policy.