在 MySQL 中导入数据库通常有两种常用方法:使用mysql命令行工具导入 SQL 文件,或通过source命令在 MySQL 交互环境中导入。以下是详细步骤:
适用于在终端直接执行,无需先登录 MySQL。
mysql -u 用户名 -p 数据库名 < 导入的SQL文件路径
-
确保目标数据库已存在(如果 SQL 文件包含建库语句可跳过此步):
mysql -u root -p
CREATE DATABASE IF NOT EXISTS 目标数据库名;
exit;
-
执行导入命令:
mysql -u root -p mydb < /home/user/backup.sql
-
输入密码后开始导入,导入过程中无输出,完成后直接返回终端。
适用于已登录 MySQL 的情况。
-
登录 MySQL 并切换到目标数据库:
mysql -u root -p
use 目标数据库名;
-
执行 source 命令导入:
source /home/user/backup.sql;
-
注意 SQL 文件路径需使用绝对路径,导入过程会显示执行日志。
-
导入大文件时超时:编辑 MySQL 配置文件(如my.cnf),增加以下参数后重启服务:
[mysqld]
max_allowed_packet=100M # 根据文件大小调整
wait_timeout=600
-
权限错误:确保执行导入的用户有目标数据库的CREATE、INSERT等权限:
GRANT ALL PRIVILEGES ON 目标数据库名.* TO '用户名'@'localhost';
FLUSH PRIVILEGES;
-
SQL 文件编码问题:导入时指定编码(如 UTF-8):
mysql -u root -p --default-character-set=utf8 mydb < backup.sql
-
导入的 SQL 文件需是完整的数据库备份(包含
CREATE TABLE、INSERT等语句)。
-
导入前建议备份目标数据库,避免数据覆盖。
-
对于超大文件(GB 级),可考虑分块导入或使用
mysqldump的对应参数优化。