MySQL在Windows上的哪里存储数据库文件,文件的名称是什么?


78

因此,我不小心格式化了硬盘,重新安装了Windows,却忘记了备份MySQL服务器中的重要数据库。我正在尝试使用某些软件来抢救文件,但我不知道要寻找什么。

文件的存储路径是什么,文件的名称是什么(我应该使用什么命名约定或文件扩展名)?

我相信我的服务器正在使用MyISAM,但不是100%肯定。

任何意见,将不胜感激!


文件扩展名是.sql
Alien先生2012年

不确定,但在格式化之前我总是将此文件夹备份C:\ wamp \ bin \ mysql \ mysql5.5.24 \ data
Ravi

如果记得的话,我本来可以将表导出到.sql,但是由于我已经很长时间没有使用数据库了,所以我完全忘记了
Brad 2012年

1
@Alien先生-不是.sql
Rick James

Answers:


84

您可以检查my.ini文件以查看数据文件夹的位置。

通常有一个文件夹{mysqlDirectory} / data

MySQL数据存储:

Commands.frm
Commands.myd
Commands.myi

* .frm文件包含表定义。您的* .myi文件是MyISAM索引文件。您的* .myd文件包含表数据。

编辑/更新。由于问题中显示的兴趣,此处提供了更多信息,该信息也可以在评论中找到。

在Windows 8.1中,MySQL数据库存储(默认)在这里: C:\ProgramData\MySQL\MySQL Server 5.6\data

文件夹C:\ ProgramData是一个隐藏文件夹,因此必须将其键入Windows资源管理器地址才能到达。在该数据文件夹中,数据库名为/{database_name_folder}/{database_tables_and_files}

例如,

C:\ProgramData\MySQL\MySQL Server 5.6\data\mydatabase\mytable.frm
C:\ProgramData\MySQL\MySQL Server 5.6\data\mydatabase\mytable.ibd 

感谢@ marty-mcgee的内容


12
该(.myd)仅适用于MyISAM引擎。对于InnoDB,您需要在“ {mysqlDirectory} /”上看到“ ibdata1”文件。
Raheel Hasan

我可以将这个data / mydatabase文件夹从另一台PC复制到我的PC上吗?由于某些原因,sql导入(使用WAMP)非常慢,但在另一台PC上却没有。我正在考虑复制其数据文件夹
dominicbri7

为什么不使用mysql_dump?
乌丹2013年

17
在Windows 8.1中,MySQL数据库存储(默认情况下)在这里:C:\ProgramData\MySQL\MySQL Server 5.6\data-该文件夹C:\ProgramData是一个隐藏文件夹,因此必须将其键入Windows资源管理器地址才能到达。在该数据文件夹中,数据库名为/{database_name_folder}/{database_tables_and_files}。例如,C:\ProgramData\MySQL\MySQL Server 5.6\data\mydatabase\mytable.frm以及C:\ProgramData\MySQL\MySQL Server 5.6\data\mydatabase\mytable.ibd
马蒂·麦基

1
上面Marty-McGee的评论应该是使用InnoDB的人们的答案。因为有评论,所以我几乎错过了他的解决方案。
HPWD

37

在Windows 7中,MySQL数据库存储在

C:\ ProgramData \ MySQL \ MySQL Server 5.6 \ data

注意:这是一个隐藏的文件夹。我的示例是针对MySQL Server 5.6版的;如果不同,请根据您的版本更改文件夹名称。

知道这个位置很方便,因为有时MySQL Workbench无法删除架构(或导入数据库)。这主要是由于db文件夹中存在文件,由于某些原因,Workbench无法在早期过程中将其删除。使用Windows资源管理器删除文件,然后重试(拖放,导入),您的问题应已解决。

希望这可以帮助 :)


15

我在根目录中有一个默认的my-default.ini文件,并且有一个服务器配置:

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

因此,这并不告诉我道路。

最好的方法是连接到数据库并运行此查询:

SHOW VARIABLES WHERE Variable_Name LIKE "%dir" ;

结果如下:

basedir                     C:\Program Files (x86)\MySQL\MySQL Server 5.6\
character_sets_dir          C:\Program Files (x86)\MySQL\MySQL Server 5.6\share\charsets\

datadir                     C:\ProgramData\MySQL\MySQL Server 5.6\Data\
innodb_data_home_dir    
innodb_log_group_home_dir   .\
lc_messages_dir             C:\Program Files (x86)\MySQL\MySQL Server 5.6\share\

plugin_dir                  C:\Program Files (x86)\MySQL\MySQL Server 5.6\lib\plugin\

slave_load_tmpdir           C:\Windows\SERVIC~2\NETWOR~1\AppData\Local\Temp
tmpdir                      C:\Windows\SERVIC~2\NETWOR~1\AppData\Local\Temp

如果要查看为数据库配置的所有参数,请执行以下操作:

SHOW VARIABLES;

storage_engine变量将告诉您是否正在使用InnoDb或MyISAM。


不,这将告诉您默认值。您需要使用SHOW CREATE TABLE来检查特定的表。并且不同的表可以使用不同的引擎。
瑞克·詹姆斯

6

对于Windows 7:c:\ users \ all users \ MySql \ MySql Server xx \ Data \

其中xx是计算机中安装的sql server的版本号。

菲德尔


4

只需对本地分区上的* .myi文件执行Windows搜索。期。

如我所料,它们位于程序文件文件夹中,而不是像大多数其他数据库管理器一样使用适当的仅数据文件夹。

为什么要搜索my.ini文件,使用编辑器将其打开,查找路径字符串,确保不更改配置文件(!),然后进行第二次搜索?除了练习触摸打字以外,没有其他好处的复杂性。


选择它是因为它既快速又简单。
Mousa Dirksz 2015年


3

它通常在下面指定的文件夹中,但是ProgramData通常是一个隐藏的文件夹。要显示它,请在控制面板中搜索“文件夹”,然后在高级设置下勾选显示隐藏文件,然后单击应用。C:/ ProgramData / MySQL / MySQL Server 5.5 / Data /


3

MYSQL 8.0:

my.ini在磁盘中搜索,我们将找到以下文件夹:

C:\ ProgramData \ MySQL的\ MySQL服务器8.0
ProgramData,而不是Program file

数据位于子文件夹:中\Data

每个database拥有一个文件夹,每个table都是文件,每个index都是1+文件。

这是一个示例数据库sakila在此处输入图片说明


2

我刚刚在Windows7上安装了MySQL 5.7。数据库文件位于以下目录中,该目录为隐藏目录: C:\ProgramData\MySQL\MySQL Server 5.7\Data

my.ini文件位于同一根目录中:C:\ProgramData\MySQL\MySQL Server 5.7


2

如果在安装了Xampp服务器的情况下使用Win10,则可以在C:\ xampp \ mysql \ data中找到数据文件夹

在数据文件夹中,每个数据库都有其自己的文件夹,该文件夹又包含.frm,.myi和.myd文件,这些文件代表数据库中的单个表。

例如,如果您创建了一个名为:myschool的数据库,并且在数据库内部,则有三个表,其名称为:

  1. 苗圃
  2. 次要的

然后,您将拥有Nursery表:Nursery.frm,turryry.myi和Nursery.myd。主表和辅助表也是如此。因此,在这里提到的I中,您将在名为myschool的数据库文件夹中总共包含9个文件。

然后,您可以复制数据库文件夹,并在新的mysql安装数据文件夹中使用它。

我希望这有帮助。

最好的祝福。


1

在MySQL中,
“。myd”是数据库自身,
“。tmd”是临时文件。
但有时我也看到“ .sql”。

这取决于您的设置和/或导出方法。


0

1)找到my.ini,该文件存储在MySQL安装文件夹中。

例如,

C:\Program Files\MySQL\MySQL Server 5.1\my.ini

2)使用我们喜欢的文本编辑器打开“ my.ini”。

#Path to installation directory. All paths are usually resolved relative to this.
basedir="C:/Program Files/MySQL/MySQL Server 5.1/"

#Path to the database root/"
datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data

找到“ datadir”,这是MySQL在Windows中存储数据的位置。


0

C:\ Program Files \ MySQL \ MySQL Workbench 6.3 CE \ sys

粘贴URL到窗口文件,并Tables, Procedures, Functions从该目录获取

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.