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