將 .sql 腳本導入 MySQL 是常態操作。本文對比命令行、圖形工具、客戶端內部命令三種方式的適用場景與操作細節。
mysql> USE target_db; mysql> SOURCE /path/to/file.sql; # 或簡寫 mysql> \. /path/to/file.sql
mysql> 交互提示符下可用。| 問題 | 原因 | 解決 |
|---|---|---|
| ERROR 1049 (42000): Unknown database | 目標庫不存在 | 先 CREATE DATABASE db_name; 或 .sql 含建庫語句用 mysql < file.sql 不指定庫 |
| ERROR 2006 (HY000): MySQL server has gone away | 單條 SQL 過大/超時 | 調大 max_allowed_packet、wait_timeout;或分割 .sql 文件 |
| 中文亂碼 | 文件編碼與連接字符集不一致 | 文件保存為 UTF-8;導入前 SET NAMES utf8mb4; |
| 導入極慢 | 自動提交、索引維護、無批次 | SET autocommit=0; SET unique_checks=0; SET foreign_key_checks=0; 導入後恢復 |
| Access denied | 權限不足 | 授予 CREATE, INSERT, LOCK TABLES 等權限 |