Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am investigating a web site server (CentOS release 6.3) that runs the traditional lamp stack;

I am getting the following output my MySQL;

mysql> show databases;
| Database           |
| information_schema |
| #mysql50#.config   |
| webtestdb          |
| mysql              |
| test               |
| websitedb          |
6 rows in set (0.00 sec)

What is "#mysql50#.config"? Also, I can't select it;

mysql> use #mysql50#.config;
    -> ;
USE must be followed by a database name
mysql> use \#mysql50\#.config;
No connection. Trying to reconnect...
Connection id:    1707
Current database: *** NONE ***

ERROR 1049 (42000): Unknown database 'mysql50.config'
mysql> use `#mysql50\#.config`;
ERROR 1102 (42000): Incorrect database name '#mysql50#.config'

Does this resemble some sort of crashed database, or a temporary database from a previous import or export than has been left behind by mistake?

mysql> SHOW VARIABLES LIKE "%version%";
| Variable_name           | Value               |
| protocol_version        | 10                  |
| version                 | 5.1.67-log          |
| version_comment         | Source distribution |
| version_compile_machine | x86_64              |
| version_compile_os      | redhat-linux-gnu    |
5 rows in set (0.00 sec)
share|improve this question
up vote 3 down vote accepted

This is nothing but a folder/file in database directory.

The default location for data directory is /var/lib/mysql on ubuntu.Go to that location(datadir) and find what is there in that folder if it not your database please move that to some another place.

If you need to find the location of data directory issue command on MySQL shell

| Variable_name | Value           |
| datadir       | /db-data/mysql/ |
1 row in set (0.00 sec)

Which will give you the location of data directory

share|improve this answer
This is correct. I ran into this situation by having my btrfs snapshot directory inside the data directory. Turns out that's a no-no. On a subvolume /secure/home/mysql/, make sure you put your data inside /secure/home/mysql/data/, so /secure/home/mysql/.snapshots/ won't confuse the server. – lkraav Feb 3 at 2:58

OK, so it seems that his has occurred because someone has left some files (one called conf) in the MySQL user's home directory. Removing them has removed this weird database.

share|improve this answer
In my case there was, for some reason, a directory named conf.d in /var/lib/mysql. I have no idea why the #mysql50# is prepended, but removing that directory removed the problem. – Confusion Jul 22 at 9:25

This can also occur when the folder name contains a . when copied or renamed on the filesystem:

mysql> show databases;
| Database           |
| ...                |
| hashvb             |
| hashvb.bak         |
| hashvb2            |
| hashvb3            |
| ...                |
4+ rows in set (0.01 sec)

mysql> use hashvb
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
mysql> use hashvb.bak
ERROR 1102 (42000): Incorrect database name 'hashvb.bak'
mysql> use `hashvb.bak`
ERROR 1102 (42000): Incorrect database name 'hashvb.bak'

After renaming it on the file system to not include the ., mysql can use it as normal.

share|improve this answer
@Naktibalda That doesn't help when the folder was created outside of mysql which is where my answer is targetted. In my case, I was also running 5.0 which flatly refuses to use any database name with a . in it. – Deanna Jul 16 '14 at 11:27

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.