我是 MySQL 新手,我注意到当我连接到 mysql
并询问 show Databases;
时,它会显示数据库列表。但我是从我的主目录执行此操作,并且在任何地方都看不到这些文件。默认情况下它在哪里存储它们/查找它们?
我使用的是 OS X,以防万一。
另外,如果我想完全消除一个数据库,我可以在 mysql 中执行此操作吗?或者我也可以进入该目录并删除数据库文件吗?
最佳答案
MySQL 不使用“.sql”文件。表数据文件存储为“.frm”、“.ibd”、“.myd”和“.myi”文件,具体取决于存储引擎。
'.sql' 通常用作由 mysqldump
或其他 SQL 语句集合生成的备份文件的扩展名,但这只是一种约定,仅对查看的人有意义文件名。这些没有“默认”,因为您必须在备份数据时指定要保存它们的位置,这不是由 MySQL 服务器本身完成的,而是由像 mysqldump 这样的实用程序完成的code> 作为客户端连接到服务器,提取数据并将其写入转储文件。
MySQL 的文件存储在 datadir
变量中的目录中。
mysql> show variables like 'datadir';
+---------------+------------------------+
| Variable_name | Value |
+---------------+------------------------+
| datadir | /usr/local/mysql/data/ |
+---------------+------------------------+
如果您希望服务器继续运行,从内部目录中删除文件通常是一个非常糟糕的主意。除非您确切地知道自己在做什么以及为什么这样做,否则不应修改这些目录的内容。
如果要删除整个数据库,请使用 DROP DATABASE database_name;
关于mysql - MySQL默认将.sql文件存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19461175/