如何从sql文件恢复数据_mysql导入恢复方式

9次阅读

最常用可靠的导入方式是用mysql命令行工具,需先创建数据库(推荐utf8mb4字符集),再执行mysql -u username -p database_name

如何从sql文件恢复数据_mysql导入恢复方式

直接用 mysql 命令行工具导入 SQL 文件是最常用、最可靠的方式,前提是数据库已存在(或先建库),且 SQL 文件格式规范(含建表语句和 INSERT 数据)。

确认目标数据库是否存在

导入前需确保数据库已创建。若不存在,先登录 MySQL 执行:

CREATE DATABASE db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

推荐使用 utf8mb4 字符集,避免 emoji 或生僻字乱码。

命令行导入 SQL 文件(推荐)

在终端(linux/macOS)或命令提示符(windows)中执行:

mysql -u username -p database_name < backup.sql

  • username 是数据库用户名(如 root)
  • database_name 是要恢复到的目标数据库名
  • backup.sql 是本地 SQL 文件的完整路径(如 /home/user/data.sql
  • 执行后会提示输入密码,输入正确密码即可开始导入

导入时常见问题与处理

如果导入失败,通常由以下原因导致:

  • SQL 文件开头有 CREATE DATABASE 但目标库已存在:可加 --force 参数跳过错误,或手动删掉 SQL 文件前几行的 CREATE DATABASEUSE 语句
  • 字符编码不匹配:导入时显式指定编码,例如:
    mysql -u root -p --default-character-set=utf8mb4 db_name
  • 大文件导入超时或中断:可在 MySQL 配置中临时调高参数,或改用 source 方式(见下条)

在 MySQL 客户端内用 source 导入(适合大文件或交互调试)

先登录 MySQL:

mysql -u root -p

再选择数据库并导入:

USE database_name;
source /path/to/backup.sql;

注意:source 路径必须是 MySQL 服务端能访问的路径(不是你本地电脑路径),若在远程服务器操作,需先把 SQL 文件上传到服务器上。

text=ZqhQzanResources