是否有可能从物理数据库文件还原一个MySQL数据库。我有一个具有以下文件类型的目录:
client.frm client.MYD client.MYI
但约20多桌。
我通常使用mysqldump或类似的工具把一切在1个SQL文件究竟什么是处理这些类型的文件的方式吗?
一个MySQL MyISAM表是三个文件的组合:
你应该能够在你的数据库文件夹复制它们恢复(在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/
如果要恢复的文件夹,不要忘记将文件执行chown到MySQL:MySQL的
chown -R mysql:mysql /var/lib/mysql-data
否则试图删除数据库或添加新列等时,你会得到错误..
并重启MySQL
service mysql restart
我有同样的问题,但没有成功恢复基于上述说明的数据库。
我只得到了从我的Ubuntu OS恢复mysql数据库文件夹。我的问题是如何与那些不可读的MySQL数据文件夹恢复我的数据库。现在,我切换回的开发环境Win7操作系统。
*注:我有一个现有的数据库服务器在Win7运行,我只需要几个数据库文件从恢复的文件检索。要成功恢复从Ubuntu的操作系统数据库文件,我需要从Ubuntu的操作系统全新安装的MySQL数据库服务器相同的版本在我的Win7操作系统恢复在旧的数据库服务器的一切。
希望这些将帮助,因为我没有找到一个解决我的问题。
与MySQL 5.1(Win7的)。要重新创建数据块(InnoDbs)我把它换成以下迪尔斯(my.ini的PARAMS)的全部内容:
datadir="C:/ProgramData/MySQL/MySQL Server 5.1/Data/"
innodb_data_home_dir="C:/MySQL Datafiles/"
从那以后,我开始MySQL服务和一切工作正常。
是的!只需将它们添加到你的数据库文件夹(视操作系统而定),并运行一个命令,如“MySQL的修复权限”。这将重新存储数据库。看得太认为正确的权限在文件藏汉设置。
有一次,我已将这些文件复制到数据库中存储文件夹为其工作的MySQL数据库,启动数据库,并等待它“修复”的文件,然后使用mysqldump提取它们。
在我的情况下,简单地移除tc.log在/ var / lib中/ MySQL的足以再次启动MariaDB的/ MySQL的。