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