mysql - MySQL默认将.sql文件存储在哪里?

标签 mysql macos

我是 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;

您确实阅读了thisthis ,对吗?

关于mysql - MySQL默认将.sql文件存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19461175/

相关文章:

mysql - 如何处理表中单个字段的多个值?

php - 国家名称在数据库中存储为整数/数字是否比包含其名称的字符串更好?

PHP在线/离线管理?

objective-c - 按帧显示动画?

java - 降级 java/gradle 版本 Homebrew 软件

php - 从数据库中的特定表返回多行

mysql - 如何在 MySQL 中使用用户定义的函数对 SELECT 查询进行排序?

macos - 除了路径之外,Mac OS X 上还有哪些其他类型的持久文件引用?

ruby - 在任何来源中都找不到 public_suffix-2.0.4

objective-c - Mac OS X - Cocoa 时间轴/曲线编辑控件