首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 命令行導入導出 .sql 文件完整指南(含大文件突破 2M 限制)

     編輯:MySQL 綜合教學

MySQL 命令行導入導出 .sql 文件完整指南(含大文件突破 2M 限制)

從環境變量配置到 mysqldump/mysql 實操,再到 PHP 環境大文件導入限制破解,一站式覆蓋 MySQL 數據遷移核心技能。

環境準備:配置 PATH

桌面 → 我的電腦 → 屬性 → 環境變量 → 系統變量 Path 追加:
;C:\Program Files\MySQL\MySQL Server 5.7\bin(按實際安裝路徑調整)

常用管理命令速查

mysql -h localhost -u root -p
-- 登錄後
CREATE DATABASE dbname;
USE dbname;
SHOW TABLES;
DESCRIBE tablename;

導出數據/結構

需求命令
整庫導出mysqldump -h localhost -u root -p mydb > e:\mysql\mydb.sql
單表導出mysqldump -h localhost -u root -p mydb mytable > e:\mysql\mytable.sql
僅導出結構(含 DROP TABLE)mysqldump -h localhost -u root -p mydb --add-drop-table > e:\mysql\mydb_stru.sql
導出帶 INSERT 語句的數據mysqldump -h localhost -u root -p mydb --no-create-info > data.sql
壓縮導出mysqldump ... | gzip > mydb.sql.gz

導入數據

-- 1. 建庫
mysql -h localhost -u root -p -e "CREATE DATABASE mydb2;"

-- 2. 導入
mysql -h localhost -u root -p mydb2 < e:\mysql\mydb2.sql

-- 或登錄後 source
mysql> USE mydb2;
mysql> SOURCE e:/mysql/mydb2.sql;

突破 2M 導入限制(PHP/MySQL 環境)

默認 max_allowed_packet=2M 導致大文件導入失敗。兩層配置:

1. MySQL 服務端

[mysqld]
max_allowed_packet = 512M  -- 或更大
-- 重啟生效

2. PHP 環境(若用 phpMyAdmin/Web 導入)

; php.ini
memory_limit = 512M
upload_max_filesize = 512M
post_max_size = 512M
max_execution_time = 0
max_input_time = 0

大文件導入進階技巧

  • 分卷導入:split -l 10000 big.sql part_ 再循環 source
  • 禁用索引/外鍵/自動提交:
    SET autocommit=0; SET unique_checks=0; SET foreign_key_checks=0;
    SOURCE big.sql;
    SET autocommit=1; SET unique_checks=1; SET foreign_key_checks=1;
  • 使用 mysqlpump (5.7+) 並行導出/導入
  • 生產環境首選物理備份:xtrabackup、mysqlbackup

常見報錯速查

錯誤原因解決
MySQL server has gone away包太大/超時調大 max_allowed_packet、wait_timeout
Unknown collation字符集不匹配導出時加 --default-character-set=utf8mb4
Access denied權限不足授予 FILE、SUPER 或用 root
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved