ZBLOG

Ubuntu mysql如何恢复.mysql文件

在 Ubuntu 上恢复 .mysql 文件(通常指 MySQL 的备份文件,如 .sql.dump)需要根据备份类型选择不同的方法。以下是详细步骤:


1. 确认备份文件类型

  • .sql 文件:纯文本格式的 SQL 语句(可通过 cat 查看内容)。
  • .dump/.bak:可能是二进制备份(如 mysqldump 生成或物理备份)。

2. 通过 mysql 命令行工具恢复(适用于 .sql 文件)

步骤:

  1. 登录 MySQL

    mysql -u [用户名] -p
    

    输入密码后进入 MySQL Shell。

  2. 创建数据库(若需恢复到新数据库)

    CREATE DATABASE [数据库名];
    USE [数据库名];
    
  3. 退出 MySQL Shell

    exit;
    
  4. 导入备份文件

    mysql -u [用户名] -p[密码] [数据库名] < /路径/到/备份文件.sql
    
    • 示例(将 backup.sql 恢复到 mydb):
      
      mysql -u root -p mydb < /home/user/backup.sql
      
      输入密码后等待导入完成。

3. 使用 source 命令在 MySQL Shell 中恢复

如果已登录 MySQL,可直接执行:

USE [数据库名];
SOURCE /路径/到/备份文件.sql;
  • 注意:路径需为绝对路径。

4. (可选)恢复单个表

从完整备份中提取特定表的 SQL 语句,然后单独导入:

sed -n '/^-- Table structure for table `表名`/,/^-- Table structure for table/p' backup.sql > table.sql
mysql -u root -p [数据库名] < table.sql

5. 处理二进制备份(如 InnoDB 物理备份)

若备份是二进制文件(如 .ibd, .frm, /var/lib/mysql/ 的拷贝),需停止 MySQL 服务后替换数据文件:

sudo systemctl stop mysql
sudo cp -r /path/to/backup/* /var/lib/mysql/
sudo chown -R mysql:mysql /var/lib/mysql/
sudo systemctl start mysql
  • 风险提示:此操作可能导致数据不一致,建议先测试或在专业指导下进行。

6. (扩展)使用 mysqldump + pv监控进度

安装 pv工具后实时观察导入进度:

sudo apt install pv 
pv /path/to/backup.sql | mysql -u root -p [数据库名]

常见问题解决

  1. 报错:ERROR1044(42000):Access denied
    检查用户是否有目标数据库的权限:
     
    GRANT ALL PRIVILEGES ON [数据库名].* TO '[用户名]'@'localhost';
    FLUSH PRIVILEGES;
    

2.报错:导入中断或乱码
确保字符集一致(如 UTF-8):

   mysql --default-character-set=utf8mb4-u root-p[DB]<backup.sql 
    ```

3.**大文件优化导入速度**  
   临时关闭日志和外键检查加速导入:  
   在 SQL文件中开头添加:  
    ```sql 
    SET FOREIGN_KEY_CHECKS=0;SET UNIQUE_CHECKS=0;SET AUTOCOMMIT=0; 
    结尾添加:  
    COMMIT;SET FOREIGN_KEY_CHECKS=1;SET UNIQUE_CHECKS=1; 
     ```

---

####附:验证恢复是否成功  
登录MySQL查询数据是否存在:   
``` sql   
USE[Database];SHOW TABLES;SELECT COUNT(*)FROM[Table];   

如需进一步协助,请提供具体错误信息或场景细节!


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=23906

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?