1

我是 MySQL 的新手,我注意到当我连接mysql并询问show databases;它时,它会显示一个数据库列表。但我是从我的主目录执行此操作的,我在任何地方都看不到这些文件。默认情况下它在哪里存储/查找它们?

我在 OS X 以防万一。

另外,如果我想完全消除数据库,我可以在 mysql 中执行此操作吗?或者我也可以进入目录并删除数据库文件?

4

1 回答 1

4

MySQL 不使用“.sql”文件。表数据文件存储为“.frm”、“.ibd”、“.myd”和“.myi”文件,具体取决于存储引擎。

'.sql' 通常用作由mysqldumpSQL 语句或其他 SQL 语句集合生成的备份文件的扩展名,但这只是一种约定,仅对查看文件名的人有意义。这些没有“默认情况”,因为您必须在备份数据时指定要保存它们的位置,这不是由 MySQL 服务器本身完成的,而是由mysqldump连接到服务器的类似实用程序完成的客户端,提取数据,并将其写入转储文件。

MySQL 的文件存储在您可以在datadir变量中找到的目录中。

mysql> show variables like 'datadir';
+---------------+------------------------+
| Variable_name | Value                  |
+---------------+------------------------+
| datadir       | /usr/local/mysql/data/ |
+---------------+------------------------+

如果您希望服务器继续运行,从内部目录中删除文件通常是一个非常糟糕的主意。除非您确切知道自己在做什么以及为什么,否则不应修改这些目录的内容。

如果要删除整个数据库,请使用DROP DATABASE database_name;

你确实读过这个这个,对吧?

于 2013-10-19T01:41:40.703 回答