3 回答
TA贡献1815条经验 获得超13个赞
MySQL MyISAM表是三个文件的组合:
FRM文件是表定义。
MYD文件是存储实际数据的位置。
MYI文件是存储在表上创建的索引的位置。
您应该可以通过将它们复制到数据库文件夹中来进行还原(在linux中,默认位置为/var/lib/mysql/)
您应该在服务器未运行时执行此操作。
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/
TA贡献1841条经验 获得超3个赞
如果要还原文件夹,请不要忘记将文件整理到mysql:mysql,
chown -R mysql:mysql /var/lib/mysql-data
否则在尝试删除数据库或添加新列等时会出错。
然后重启MySQL
service mysql restart
添加回答
举报