在 Linux 下向 MySQL 导入数据,常见场景有 SQL 文件导入、CSV 文件导入、使用 mysqldump 恢复 等。下面按最常用方式给你说明。
.sql 文件mysql -u 用户名 -p 数据库名 < 文件.sql
示例:
mysql -u root -p testdb < /data/testdb.sql
执行后会提示输入密码
mysql -u root -p
use testdb;
source /data/testdb.sql;
如果你是用 mysqldump 导出的:
mysqldump -u root -p testdb > testdb.sql # 导出
mysql -u root -p testdb < testdb.sql # 导入
LOAD DATA INFILE '/data/data.csv'
INTO TABLE user
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
⚠ 注意:
FILE 权限secure_file_priv,可改配置或放允许目录查看允许目录:
SHOW VARIABLES LIKE 'secure_file_priv';
mysqlimport -u root -p --fields-terminated-by=',' testdb /data/data.csv
mysql -u root -p -e "CREATE DATABASE newdb;"
mysql -u root -p newdb < newdb.sql
mysql -u root -p --default-character-set=utf8mb4 testdb < file.sql
LOAD DATAinnodb_buffer_pool_sizeGRANT ALL PRIVILEGES ON db.* TO 'user'@'localhost';
FLUSH PRIVILEGES;
如果你能告诉我:
我可以给你更精确的导入方案。