在 MySQL 8.0 中,有几种常用的方法来导入数据库数据。以下是几种主要方法的详细说明:
mysql -u username -p database_name < file.sql
username
: 你的 MySQL 用户名database_name
: 目标数据库名称(需先创建)file.sql
: 要导入的 SQL 文件mysql> USE database_name;
mysql> SOURCE /path/to/file.sql;
mysqlimport -u username -p --local database_name file.csv
LOAD DATA INFILE '/path/to/file.csv'
INTO TABLE table_name
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
认证插件问题:MySQL 8.0 默认使用 caching_sha2_password
认证插件,如果遇到认证问题,可以:
ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
字符集问题:确保导入文件的字符集与数据库一致,通常使用 UTF-8:
SET NAMES utf8mb4;
大文件导入:对于大文件,可以调整参数:
SET GLOBAL max_allowed_packet=1073741824;
SET GLOBAL net_buffer_length=1000000;
事务处理:对于大型导入,考虑禁用自动提交:
SET autocommit=0;
-- 导入命令
COMMIT;
性能优化:导入前临时禁用索引和外键检查:
SET FOREIGN_KEY_CHECKS=0;
SET UNIQUE_CHECKS=0;
-- 导入命令
SET FOREIGN_KEY_CHECKS=1;
SET UNIQUE_CHECKS=1;
需要更具体的帮助吗?或者您遇到了特定的导入问题?