为了账号安全,请及时绑定邮箱和手机立即绑定

从物理文件还原MySQL数据库

从物理文件还原MySQL数据库

MMMHUHU 2019-10-16 10:39:37
是否可以从物理数据库文件还原MySQL数据库。我的目录具有以下文件类型:client.frm client.MYD client.MYI但要多出约20张桌子。我通常使用mysqldump或类似的工具在1个SQL文件中获取所有内容,那么如何处理这些类型的文件呢?
查看完整描述

3 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

MySQL MyISAM表是三个文件的组合:


FRM文件是表定义。

MYD文件是存储实际数据的位置。

MYI文件是存储在表上创建的索引的位置。

您应该可以通过将它们复制到数据库文件夹中来进行还原(在linux中,默认位置为/var/lib/mysql/)


您应该在服务器未运行时执行此操作。


查看完整回答
反对 回复 2019-10-16
?
阿晨1998

TA贡献2037条经验 获得超6个赞

从@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/database1

sudo chmod -R 660 /var/lib/mysql/database1

sudo 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_logfile0


sudo 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/


查看完整回答
反对 回复 2019-10-16
?
偶然的你

TA贡献1841条经验 获得超3个赞

如果要还原文件夹,请不要忘记将文件整理到mysql:mysql,


chown -R mysql:mysql /var/lib/mysql-data


否则在尝试删除数据库或添加新列等时会出错。


然后重启MySQL


service mysql restart


查看完整回答
反对 回复 2019-10-16
  • 3 回答
  • 0 关注
  • 908 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信