猿问

从物理文件还原MySQL数据库

是否可以从物理数据库文件还原MySQL数据库。我的目录具有以下文件类型:


client.frm 

client.MYD 

client.MYI


但要多出约20张桌子。


我通常使用mysqldump或类似的工具在1个SQL文件中获取所有内容,那么如何处理这些类型的文件呢?


MMMHUHU
浏览 909回答 3
3回答

萧十郎

MySQL MyISAM表是三个文件的组合:FRM文件是表定义。MYD文件是存储实际数据的位置。MYI文件是存储在表上创建的索引的位置。您应该可以通过将它们复制到数据库文件夹中来进行还原(在linux中,默认位置为/var/lib/mysql/)您应该在服务器未运行时执行此操作。

阿晨1998

从@Vicent的答案,我已经恢复了MySQL数据库,如下所示:步骤1.关闭Mysql服务器步骤2.将数据库复制到数据库文件夹中(在Linux中,默认位置为/ var / lib / mysql)。保持数据库名称相同,在mysql模式下保持数据库名称相同。sudo cp -rf   /mnt/ubuntu_426/var/lib/mysql/database1 /var/lib/mysql/步骤3:更改自己的文件夹并更改模式:sudo chown -R mysql:mysql /var/lib/mysql/database1sudo chmod -R 660 /var/lib/mysql/database1sudo chown  mysql:mysql /var/lib/mysql/database1 sudo chmod 700 /var/lib/mysql/database1步骤4:将ibdata1复制到数据库文件夹中sudo cp /mnt/ubuntu_426/var/lib/mysql/ibdata1 /var/lib/mysql/sudo chown mysql:mysql /var/lib/mysql/ibdata1步骤5:将ib_logfile0和ib_logfile1文件复制到数据库文件夹中。sudo cp /mnt/ubuntu_426/var/lib/mysql/ib_logfile0 /var/lib/mysql/sudo cp /mnt/ubuntu_426/var/lib/mysql/ib_logfile1 /var/lib/mysql/记住更改自己的名称并更改这些文件的根目录:sudo chown -R mysql:mysql /var/lib/mysql/ib_logfile0sudo chown -R mysql:mysql /var/lib/mysql/ib_logfile1要么sudo chown -R mysql:mysql /var/lib/mysql步骤6(可选):我的站点已配置为将文件存储在特定位置,然后将它们精确地复制到相应位置。步骤7:启动Mysql服务器。一切都回来享受它。这就对了。查看更多信息:https : //biolinh.wordpress.com/2017/04/01/restoring-mysql-database-from-physical-files-debianubuntu/

偶然的你

如果要还原文件夹,请不要忘记将文件整理到mysql:mysql,chown -R mysql:mysql /var/lib/mysql-data否则在尝试删除数据库或添加新列等时会出错。然后重启MySQLservice mysql restart
随时随地看视频慕课网APP

相关分类

MySQL
我要回答