温馨提示×

Debian MySQL怎么导入数据

小樊
60
2026-07-02 06:42:04
栏目: 云计算

在 Debian 上给 MySQL 导入数据,常见有几种方式,下面按最常用 → 进阶给你说明(假设你已经安装并启动了 MySQL)。


一、从 SQL 文件导入(最常见)

1️⃣ 准备 SQL 文件

例如:

/root/data.sql

2️⃣ 登录 MySQL

mysql -u root -p

3️⃣ 选择数据库

CREATE DATABASE testdb;
USE testdb;

4️⃣ 导入 SQL 文件

SOURCE /root/data.sql;

✅ 适合文件不大、交互式操作


二、直接在命令行导入(推荐)

1️⃣ 已有数据库

mysql -u root -p testdb < /root/data.sql

2️⃣ 还没有数据库

mysql -u root -p -e "CREATE DATABASE testdb;"
mysql -u root -p testdb < /root/data.sql

✅ 最常用方式


三、从 .sql.gz 压缩文件导入

gunzip < data.sql.gz | mysql -u root -p testdb

或:

zcat data.sql.gz | mysql -u root -p testdb

✅ 适合大文件


四、从 CSV 文件导入(表已存在)

示例 CSV

id,name,age
1,Alice,30
2,Bob,25

导入命令

LOAD DATA INFILE '/tmp/data.csv'
INTO TABLE users
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;

常见错误解决

ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option

查看限制目录:

SHOW VARIABLES LIKE 'secure_file_priv';

把 CSV 放到该目录(如 /var/lib/mysql-files/)


五、使用 mysqldump 的“反向操作”

如果你这是从别的 MySQL 导出的:

mysqldump -u root -p testdb > testdb.sql

导入:

mysql -u root -p testdb < testdb.sql

六、Debian 常见 MySQL 服务命令

sudo systemctl status mysql
sudo systemctl start mysql
sudo systemctl restart mysql

七、总结(快速选)

场景 推荐方式
普通 SQL 文件 mysql db < file.sql
交互操作 SOURCE file.sql
压缩文件 zcat file.gz | mysql
CSV 数据 LOAD DATA INFILE

如果你愿意,可以把你具体的文件格式(SQL / CSV / 压缩包)或报错信息发出来,我可以直接帮你写完整命令 ✅

0 踩