MySQL 提供了多种方法来导入和导出数据,以下是常用的几种方法:
# 导出整个数据库
mysqldump -u [用户名] -p[密码] [数据库名] > 备份文件.sql
# 导出特定表
mysqldump -u [用户名] -p[密码] [数据库名] [表名1] [表名2] > 备份文件.sql
# 只导出结构(不包含数据)
mysqldump -u [用户名] -p[密码] --no-data [数据库名] > 结构备份.sql
# 只导出数据(不包含结构)
mysqldump -u [用户名] -p[密码] --no-create-info [数据库名] > 数据备份.sql
-- 在MySQL客户端中执行
SELECT * FROM [表名]
INTO OUTFILE '/tmp/导出文件.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
# 导入整个数据库
mysql -u [用户名] -p[密码] [数据库名] < 备份文件.sql
# 如果数据库不存在,先创建数据库
mysql -u root -p -e "CREATE DATABASE [数据库名]"
mysql -u [用户名] -p[密码] [数据库名] < 备份文件.sql
-- 选择数据库
USE [数据库名];
-- 执行SQL文件
SOURCE /path/to/备份文件.sql;
-- 先确保表结构已存在
LOAD DATA INFILE '/path/to/文件.csv'
INTO TABLE [表名]
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS; -- 如果CSV有标题行,跳过第一行
--single-transaction
选项减少锁表时间# 压缩导出
mysqldump -u [用户] -p[密码] [数据库] | gzip > 备份.sql.gz
# 解压并导入
gunzip < 备份.sql.gz | mysql -u [用户] -p[密码] [数据库]
mysqldump -u [用户] -p[密码] [数据库] 表1 表2 表3 > 部分备份.sql
可以设置 cron 任务定期自动备份数据库。
希望这些方法能帮助您有效地管理 MySQL 数据导入导出工作。