You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从.frm、.ibd文件及MySQL目录恢复WordPress数据库求助

从MySQL数据目录恢复WordPress数据库

一、先搭匹配版本的数据库服务

  • 必须安装和原服务器完全相同版本的MariaDB/MySQL,版本不兼容会直接导致数据文件无法识别。先通过原服务器的mysql --version或mariadb --version确认版本号,再安装对应版本的服务包。

二、停止当前数据库服务

避免操作时文件被占用,先停止服务:

sudo systemctl stop mariadb  # 若使用MySQL则替换为mysql

三、替换数据目录文件

  1. 先备份当前服务器默认数据目录,防止误操作丢失现有数据:
    sudo mv /var/lib/mysql /var/lib/mysql_backup
    
  2. 新建mysql目录,将你抢救的四个目录(performance_schema、sys、wordpress、mysql)全部复制进去:
    sudo mkdir /var/lib/mysql
    sudo cp -r /你存放抢救文件的路径/mysql/* /var/lib/mysql/
    
    例如你将抢救文件存在/home/fadi/saved_db,就把路径替换为该目录。

四、修复文件权限

数据库服务以mysql用户运行,必须给数据目录设置正确权限:

sudo chown -R mysql:mysql /var/lib/mysql
sudo chmod -R 755 /var/lib/mysql

五、启动服务并验证数据

  1. 启动数据库服务:
    sudo systemctl start mariadb
    
  2. 检查服务是否正常启动:
    sudo systemctl status mariadb
    
    若启动失败,查看日志排查问题:
    sudo journalctl -u mariadb
    
  3. 登录数据库验证WordPress数据:
    mysql -u root -p
    
    输入密码后执行以下命令:
    SHOW DATABASES;
    
    能看到wordpress数据库即为正常,再进入数据库查看表:
    USE wordpress;
    SHOW TABLES;
    
    若能看到wp_posts、wp_users等WordPress核心表,说明数据恢复成功。

六、修复phpMyAdmin访问问题

  1. 将你抢救的phpmyadmin文件夹复制到Web服务器根目录:
    • Apache服务器:/var/www/html/
    • Nginx服务器:/usr/share/nginx/html/
      执行命令:
    sudo cp -r /你存放phpmyadmin的路径/phpmyadmin /var/www/html/
    
  2. 设置phpMyAdmin目录的Web服务权限:
    sudo chown -R www-data:www-data /var/www/html/phpmyadmin
    sudo chmod -R 755 /var/www/html/phpmyadmin
    
  3. 重启Web服务:
    sudo systemctl restart apache2  # Nginx则替换为nginx
    
  4. 访问注意:若原服务器使用HTTPS,需确保当前服务器配置了SSL证书;否则直接用http://你的服务器IP/phpmyadmin访问。仍无法打开则查看Web日志:
    • Apache日志:/var/log/apache2/error.log
    • Nginx日志:/var/log/nginx/error.log

七、关联WordPress站点

数据库恢复后,修改WordPress根目录下的wp-config.php,确保数据库配置与当前服务器一致:

define('DB_NAME', 'wordpress');
define('DB_USER', '原数据库用户名');  // 遗忘可登录mysql后查询mysql.user表
define('DB_PASSWORD', '原数据库密码');  // 遗忘可重置root密码后重新授权
define('DB_HOST', 'localhost');

若遗忘数据库密码,重置root后给WordPress数据库用户重新授权:

ALTER USER '你的数据库用户'@'localhost' IDENTIFIED BY '新密码';
GRANT ALL PRIVILEGES ON wordpress.* TO '你的数据库用户'@'localhost';
FLUSH PRIVILEGES;

内容的提问来源于stack exchange,提问作者fadi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 08:55:12