题
是否有可能恢复一个数据库从物理数据库文件。我有一个目录,具有以下文件的类型:
客户。frm
客户。MYD
客户。MYI
但是对于约20多个表中。
我通常使用快照或类似工具,以获得一切都在1SQL文件以什么方式来处理这些类型的文件?
解决方案
MySQL些表是综合三个文件:
- FRM文件表中的定义。
- MYD文件是在实际数据存储。
- MYI文件是在创建的索引表上的存储。
你应该能够恢复通过复制他们在你的数据库文件夹(在linux的,默认的位置是 /var/lib/mysql/
)
你应该做到这一点,而该服务器没有运行。
其他提示
从@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/
我有同样的问题,但是没有成功地恢复的数据库中根据该说明所述。
我只得到了恢复数据库的文件夹,从我Ubuntu的操作系统。我的问题是如何恢复我的数据库与那些无法读取mysql数据文件夹。我现在切换回windows7资OS用于发展的环境。
*注意 我有一个现有的数据库服务器运行中的windows7资和我只需要几个数据库文件的检索,从已恢复的文件。成功地恢复的数据库文件,从Ubuntu OS我需要新鲜新安装的数据库服务器相同的版本,从Ubuntu OS在我windows7资操作系统恢复的一切旧的数据库服务器。
让另一个新的数据库服务器相同的版本 恢复的文件。
停止mysql server
复制的回收文件夹和粘贴在 (C:\ProgramData\MySQL\MySQL Server5.5\数据)的数据库是 存储。
复制ibdata1文件在linux mysql安装和文件夹 它贴在(C:\ProgramData\MySQL\MySQL Server5.5\数据)。仅仅过了 权利的现有或制作备份之前替换。
开始mysql server和检查,如果你已经成功地恢复 该数据库文件。
使用恢复的数据库在我目前使用的mysql server 简单地出口恢复的数据库,并将其导入现有的mysql 服务器。
希望这些将会帮助,因为我没有找到一个解决我的问题。
如果您要恢复的文件夹,不要忘记将文件执行chown到MySQL:MySQL的搜索结果chown -R mysql:mysql /var/lib/mysql-data
搜索结果,否则试图删除数据库或添加新的列时,你会得到错误等..
和重启MySQL
service mysql restart
与MySQL 5.1(Win7的)。要重新创建的DB(InnoDbs)我已经更换了以下显示目录(的my.ini PARAMS)的全部内容:
datadir="C:/ProgramData/MySQL/MySQL Server 5.1/Data/"
innodb_data_home_dir="C:/MySQL Datafiles/"
在我开始MySQL服务和一切工作正常。
是的!只需将它们添加到你的数据库文件夹(视操作系统而定),并运行一个命令,如“MySQL的修复权限”。这将重新存储数据库。看得太认为正确的权限在文件藏汉设置。
我复制一次这些文件,以用于将其工作的一个MySQL数据库的数据库存储文件夹,开始了db和等待它为“修复”的文件,然后使用mysqldump萃取它们。
在我的情况下,简单地移除tc.log在/ var / lib中/ MySQL的是足以启动MariaDB的/ MySQL的试。