Adding to what Seiji said, one can run the below command after connecting to mysql:
SELECT table_schema "DB Name",
SUM(data_length + index_length) / 1024 / 1024 "DataBase size in MB",
SUM(data_free) / 1024 / 1024 "Free space in DataBase"
FROM information_schema.tables
GROUP BY table_schema DESC;
SELECT CONCAT(table_schema, '.', table_name),
CONCAT(ROUND(table_rows / 1000000, 2), 'M') rows,
CONCAT(ROUND(data_length / ( 1024 * 1024 * 1024 ), 2), 'G') DATA,
CONCAT(ROUND(index_length / ( 1024 * 1024 * 1024 ), 2), 'G') idx,
CONCAT(ROUND(( data_length + index_length ) / ( 1024 * 1024 * 1024 ), 2), 'G') total_size,
ROUND(index_length / data_length, 2) idxfrac
FROM information_schema.TABLES
ORDER BY data_length + index_length DESC;
The first one will output the Databases and their size.
The second one would list the Tables by size.
If one chose the database before running the second SQL, only the tables from that DB will be shown.
Hope this helps,
Kind Regards,
Amit.