MySQL command to show list of databases on server

I am a new Linux user and never used MySQL database server before. How do I show the list of databases on my server? Is there any good GUI frontend exists for the same purpose?

You can use the mysql command to connect to mysql server and list available databases.

Task: Mysql list databases

mysql is a simple command-line tool. mysql is command line and it is very easy to use. Invoke it from the prompt of your command interpreter as follows:
$ mysql
Sample outputs:


You may need to provide mysql username, password and hostname, use:
$ mysql --user=your-user-name --password=your-password
$ mysql -u your-user-name -p'Your-password' -h your-hostname

To list database type the following command at mysql prompot:

mysql> show databases;

| Database           |
| information_schema |
| mysql              |
2 rows in set (0.00 sec)

In this sample output information_schema and mysql are name of databases. To use database and to list available tables type the following two commands:
mysql> use mysql;
Sample output:

Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

Now list tables, run:
mysql> show tables;
Sample outputs:

| Tables_in_mysql           |
| columns_priv              |
| db                        |
| func                      |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| proc                      |
| procs_priv                |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
17 rows in set (0.00 sec)


Shell one liner

Use the following one liner to get the same information:

mysql -u root -p -e 'show databases;'

GUI tools

Since you are new to MySQL, it is better to use GUI tools. Please refer the previous article about “GUI Tools for managing MySQL databases server“.

🐧 Get the latest tutorials on Linux, Open Source & DevOps via RSS feed or Weekly email newsletter.

🐧 51 comments so far... add one

CategoryList of Unix and Linux commands
Disk space analyzersdf ncdu pydf
File Managementcat cp mkdir tree
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network UtilitiesNetHogs dig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
51 comments… add one
  • sumudu sanjeewa Mar 5, 2008 @ 9:44

    gud site for learn

  • Dog Mar 25, 2008 @ 3:23

    you can use the -e option to execute some queries on the command line, EG, to list databases:
    mysql -e “show databases” -u -p

  • Michael Sharman Aug 22, 2008 @ 5:47

    Nice tips, very helpful.


  • lady Feb 13, 2009 @ 1:38

    how can i know if there is a database server on my pc?
    i tried this command:
    -e “show databases” -u -p
    and i got this error:
    ERROR 2006 (HYOOO):MySQL server has gone away
    No connection. Trying to reconnect. . .
    Connection id: 19
    Current database: TCPDUMP

    ERROR 1064 (42000): You have and error in your SQL syntax;check the manual to your corresponds to your MySQL server version for the right syntax to use near ‘-e “show databases” -u -p’ at line 1

    can anyone help me?

    • siva Oct 1, 2012 @ 7:23

      In this above error indicates Mysql error ,u can check to identify correcly connections are established or not,and once u check your transcational data.

  • Lepe Mar 3, 2009 @ 4:47

    Hi lady,

    I suppose you are using …. Linux? or Windows? if you are using Windows, just go to your control panel and check in “Add/Remove Programs” if you see something like “mysql”. Also you can check in services under Administrative tools.
    Now, if you are in Linux,
    type “mysql” and then press “TAB” twice and you will see a list of commands like:

    mysql mysqlimport
    mysqlaccess mysql_install_db
    mysqladmin mysqlmanager

    then mysql is installed. To know if it is running:

    nmap localhost

    and you will see a “3306/tcp open mysql”.

    Also, if you copy+paste some codes or example from web pages remember that sometimes the quotation mark is changed (looks similar but they are not)

    I hope this is helpful

  • video x ware Mar 7, 2009 @ 4:49

    Very helpful tips, thanks

  • video x ware Mar 7, 2009 @ 4:54

    Another question, man.
    How can I delete a database or table under a database such as TEST?

  • Santanu Jun 4, 2009 @ 7:20

    i m new to mysql and when i m trying to mysqlcheck -u root –analyze mysql then i m getting error ERROR 1064(42000). is there anybody who will help me to solve this problem? Please help me at the earliest.

  • joy Oct 2, 2009 @ 12:21

    How to setup a working database named ‘RCC’ in a new server. Please send me ur commands

  • Zaid Nov 19, 2009 @ 14:10

    thank you so much really beneficial.

  • Raja Dec 4, 2009 @ 10:23

    Its nice to learn

  • jeevan Feb 25, 2010 @ 6:55

    At present i am working in one database . i want to know current working database name.give command plz.

  • Paul Nesbitt Jul 8, 2010 @ 15:17

    @jeevan use



  • kristof Sep 16, 2010 @ 13:57

    Or just do: mysql_show -u yourusername -p

  • kristof Sep 16, 2010 @ 13:59

    sorry that should be: mysqlshow -u yourusernamehere -p (so without underscore)

  • tejas patel Oct 26, 2010 @ 5:48

    i am new in mysql. i tried to connection to mysql through php. i think problem in mysql server.
    i am use window base, xampp server for this. how to find out my server name, database name,username and password. when u use with servername with localhost they are not running
    successfully. i tried for this. i doing this activity last 2 days. but i am fail in this. so u advice me
    for above. i want to connect mysql to php. if u can example then best.

  • abc Oct 27, 2010 @ 0:49

    This error comes when you write
    # mysql
    ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)

    plz help

  • Ali Abid Jan 19, 2011 @ 10:08

    Nice flow defined.

  • Student Jul 5, 2011 @ 13:24


    When you do the command SHOW DATABASE, i would like to know which condition is used for the sort of the output of this command ?

  • surendra Oct 19, 2011 @ 13:01

    how to import database through command line in mysql if sql file is store in other drive

  • Arun Jan 3, 2012 @ 6:24

    Loading your data from a file. ( for windows )

    mysql> source ‘enter file name with including path’ ;

    eg: mysql> source d:/world.sql ; ( use forwards slash )

  • spedi Apr 25, 2012 @ 1:36

    Very good way to display all databases. Now I know I have lot of test databases on my server.

  • Mike May 3, 2012 @ 2:15

    Nice Tutor,,
    how to create a simple databases bro ?

  • subbu May 21, 2012 @ 10:21

    very good

  • subbu May 21, 2012 @ 10:21

    its very nice

  • pappu Jun 24, 2012 @ 18:06

    ya nice 2 learn….

  • manoj kumar Jul 19, 2012 @ 10:02

    its very nice and simple problem are solve

  • Gilbert Jul 28, 2012 @ 19:22

    i’m try to put mysql syntax but it is still error 1064 i dont know why?
    Is write a message You have ana error in your sql syntax; check the manual corresponds to your Mysql server version for the right syntax to use near ‘database’ line 1

  • Prasad Aug 16, 2012 @ 17:17

    Cool !!

    it makes learning easy :)

  • suneel jain Aug 17, 2012 @ 10:26

    how to solve problem MySQL database with j boss AS 7 to Linux OS

  • Shandeep Aug 19, 2012 @ 19:17

    The results which I am getting after executing a query are too messed-up. How do I outline it in a readable or may be in a clear view, I mean in a table format?

  • al rashid Oct 16, 2012 @ 16:39

    helped a lot.

  • Ali Amjad Oct 28, 2012 @ 22:03

    thanks for helping.

  • mathews Feb 26, 2013 @ 6:02

    mysql> use mysql;
    ERROR 1044 (42000): Access denied for user ”@’localhost’ to database ‘mysql’
    mysql> mysql –user=mlpc4 –password=mlpc4
    -> i got this error smbdy plz hlp me..

    • sasa Feb 28, 2013 @ 16:19

      You haven’t a permission to use this database

  • krishna Apr 19, 2013 @ 4:49

    good, very usefull

  • ajay gadhavana Jun 12, 2013 @ 9:41

    really very useful content

  • ektos Oct 21, 2013 @ 19:06

    why test database is there in mysql eventhough it is empty and at the mysql_secure_installation we can remove it.. then what is the use of this..??

  • may saghira Oct 20, 2014 @ 15:59

    specific and direct.thanks for the commands.

  • Matthew Oct 23, 2014 @ 18:07

    While migrating a database from an old server (Ubuntu 10.04) to a new one (14.04) I am getting this error: ERROR 2006 (HY000) at line 2692: MySQL server has gone away

    All the other databases worked except for this one. It will run for about 10 minutes then fail. Here is the command I used: mysql -u root -p cascade_test < /var/cascade_test.sql –max_allowed_packet=1060M

    The mysql dump I am using is in /var.

    Any help would be really appreciated.

  • Matthew Oct 23, 2014 @ 20:12

    Fixed! It wasn’t working and I was using PuTTY. I tried it on my mac through terminal and it worked! Strange…

  • siteXmedia Apr 5, 2015 @ 13:45

    Sorry to be negative, your end comment:

    “Since you are new to MySQL, it is better to use GUI tools”

    I have to disagree with, it is far better and quicker to learn to use the shell commands to do server admin, especially if doing many actions, like creating many databases or importing large amounts of data.

    But phpmyadmin is a great tool if you are working in the gui enviroment and want to make an adjustment for one off changes.I have not tried your other suggestion, but will now

    And as a positive I would like to say a big thanks to all the help I have got from your pages. On a search to resolve a problem I will always click the cyberciti link first.

    Thanks again

  • Nabtron Oct 20, 2015 @ 3:41

    Thanks bro :) it was really useful!

  • neelakanth Oct 26, 2015 @ 4:27

    1. Consider the following relations of medical consultation centre:
    FACULTY (F_id, F-name, F-designation).
    PATIENT (P_id, P_name, p_address, date_of_ registration).
    CONSULTATION DATE (C_date, F_id, P_id).
    Create tables for above relations considering suitable data types and constraints. Insert 5
    appropriate tuples in the tables.
    Write the SQL statements for the following queries.
    1. Generate list of patients and their consultation detail.
    2. Find patients consulted by specific faculty.
    3. Find the details of the entire faculty whose designation is a senior doctor and have
    consultation date next month.
    4. Find the patient whose consultation date is today along with the concerned faculty

  • vasant Nov 6, 2015 @ 18:00

    helped me a lot

  • Rabnawaz Jan 12, 2016 @ 12:19

    Thank you…

  • david Feb 27, 2016 @ 17:35

    Your one liner sample is wrong should be

    mysql -u root -p -e ‘show databases;’

    • 🐧 Vivek Gite Feb 27, 2016 @ 20:29

      Thanks for the heads up. The faq has been updated.

  • Raymond Wachaga Mwaura Nov 1, 2016 @ 22:10

    Thanks for this article! Expand on it if you can and show us even more commands for us to experiment with.

  • faustina Jan 12, 2017 @ 9:39

    anyone knows about VIEW on database ?

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre> for code samples. Still have questions? Post it on our forum