MySQL在Windows上存储数据库文件的位置以及文件的名称

Bra*_*rad 73 mysql database windows data-recovery

所以我不小心格式化了我的硬盘并重新安装了Windows,忘了备份我在mySQL服务器上的重要数据库.我正在尝试使用某些软件来挽救文件,但我不知道该寻找什么.

存储文件的路径是什么,以及命名的文件是什么(我应该查找哪种命名约定或文件扩展名?)

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

任何意见,将不胜感激!

Uda*_*dan 78

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

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

MySQL数据存储:

Commands.frm
Commands.myd
Commands.myi
Run Code Online (Sandbox Code Playgroud)

*.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 
Run Code Online (Sandbox Code Playgroud)

感谢@ marty-mcgee获取此内容

  • 在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` (16认同)
  • 这个(.myd)仅适用于MyISAM引擎.对于InnoDB,您需要在"{mysqlDirectory} /"上看到"ibdata1"文件. (12认同)

小智 37

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

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

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

知道这个位置很方便,因为有时MySQL Workbench无法删除模式(或导入数据库).这主要是由于dbben文件夹中存在由于某种原因而无法在Workbench的早期过程中删除的文件.使用Windows资源管理器删除文件并再试一次(删除,导入),您的问题应该解决.

希望这可以帮助 :)


Muk*_*kus 12

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

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
Run Code Online (Sandbox Code Playgroud)

所以这并没有告诉我路径.

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

SHOW VARIABLES WHERE Variable_Name LIKE "%dir" ;
Run Code Online (Sandbox Code Playgroud)

这是结果:

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
Run Code Online (Sandbox Code Playgroud)

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

SHOW VARIABLES;
Run Code Online (Sandbox Code Playgroud)

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


Don*_*ong 11

MYSQL 8.0:

在磁盘中搜索my.ini,我们会找到这个文件夹:

C:\ProgramData\MySQL\MySQL Server 8.0
ProgramData,不是Program file

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

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

这是一个示例数据库sakila在此输入图像描述


小智 6

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

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

菲德尔