温馨提示×

linux mysql怎样导入数据

小樊
34
2026-10-15 11:42:54
栏目: 云计算

在 Linux 下向 MySQL 导入数据,常见有如下几种方式,按使用频率从高到低介绍:


一、使用 mysql 命令导入 .sql 文件(最常用)

1. 准备 SQL 文件

例如:/data/backup.sql

2. 导入命令

mysql -u 用户名 -p 数据库名 < /data/backup.sql

示例:

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

执行后会提示输入密码。

3. 指定主机和端口(远程或自定义端口)

mysql -h 127.0.0.1 -P 3306 -u root -p testdb < backup.sql

二、在 MySQL 命令行中导入

mysql -u root -p

进入 MySQL 后:

use testdb;
source /data/backup.sql;

三、导入 CSV / TXT 文本文件(使用 LOAD DATA)

1. 准备 CSV 文件

例如:/data/user.csv

1,zhangsan,25
2,lisi,30

2. 使用 LOAD DATA

LOAD DATA LOCAL INFILE '/data/user.csv'
INTO TABLE user
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES;

⚠ 若报错 LOAD DATA LOCAL INFILE forbidden,需在连接时加参数:

mysql --local-infile=1 -u root -p

四、使用 mysqlimport 导入文本文件

mysqlimport -u root -p --local testdb /data/user.txt

要求:

  • 文件名必须是 表名.txt
  • 字段顺序与表结构一致

五、使用 mysqldump 反向导入(备份还原)

导出:

mysqldump -u root -p testdb > testdb.sql

导入:

mysql -u root -p testdb < testdb.sql

六、常见问题排查

1. 权限问题

ERROR 1045 (28000): Access denied

✅ 检查用户名、密码、数据库权限

2. 数据库不存在

ERROR 1049 (42000): Unknown database

✅ 先创建数据库:

CREATE DATABASE testdb;

3. 中文乱码

导入时指定编码:

mysql -u root -p --default-character-set=utf8 testdb < backup.sql

如果你能告诉我:

  • 数据格式(.sql / .csv / .txt)
  • 是否是远程服务器
  • MySQL 版本

我可以给你更精确的导入命令。

0 踩