在 Linux 下向 MySQL 导入数据,常见有如下几种方式,按使用频率从高到低介绍:
mysql 命令导入 .sql 文件(最常用)例如:/data/backup.sql
mysql -u 用户名 -p 数据库名 < /data/backup.sql
示例:
mysql -u root -p testdb < /data/backup.sql
执行后会提示输入密码。
mysql -h 127.0.0.1 -P 3306 -u root -p testdb < backup.sql
mysql -u root -p
进入 MySQL 后:
use testdb;
source /data/backup.sql;
LOAD DATA)例如:/data/user.csv
1,zhangsan,25
2,lisi,30
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
要求:
表名.txtmysqldump 反向导入(备份还原)导出:
mysqldump -u root -p testdb > testdb.sql
导入:
mysql -u root -p testdb < testdb.sql
ERROR 1045 (28000): Access denied
✅ 检查用户名、密码、数据库权限
ERROR 1049 (42000): Unknown database
✅ 先创建数据库:
CREATE DATABASE testdb;
导入时指定编码:
mysql -u root -p --default-character-set=utf8 testdb < backup.sql
如果你能告诉我:
.sql / .csv / .txt)我可以给你更精确的导入命令。