maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #06371
Empty directory in mariadb's datadir is not handled correctly
Hi guys,
quite tricky problem came up after a directory has been created by
something else than mysqld in the datadir.
Suppose we use datadir=/var/lib/mysql. When we create any file in that
directory by hand (or some program does it, which is not just
imagination, it really happens), e.g. /var/lib/mysql/.local, MariaDB
(Oracle's MySQL will behave the same probably) server thinks this
directory is a database, which is wrong.
Then we get some weird messages and outputs:
# mysqlshow
+--------------------+
| Databases |
+--------------------+
| information_schema |
| #mysql50#.local |
| mysql |
| performance_schema |
| test |
+--------------------+
# mysqlcheck -A
mysqlcheck: Got error: 1102: Incorrect database name '#mysql50#.local'
when selecting the database
I believe this is not how the things should work. I'm not sure, but I'd
expect there is still some information about existing databases in the
information_schema table. So IMHO the server/tool should always fetch
such info in addition to pure testing if the database directory exists.
Or is such testing simply impossible?
Regards,
Honza
Follow ups