MySQL mysqldump 导入导出结构与数据及存储过程函数事件触发器
MySQL 数据库备份恢复涉及 mysqldump 命令与文件导入导出操作。支持导出导入数据库结构、数据、存储过程、函数、事件及触发器。提供库级与表级参数组合说明。此外包含 LOAD DATA INFILE 和 SELECT INTO OUTFILE 处理 CSV/TXT 文件的语法及 secure_file_priv 路径配置注意事项。
MySQL 数据库备份恢复涉及 mysqldump 命令与文件导入导出操作。支持导出导入数据库结构、数据、存储过程、函数、事件及触发器。提供库级与表级参数组合说明。此外包含 LOAD DATA INFILE 和 SELECT INTO OUTFILE 处理 CSV/TXT 文件的语法及 secure_file_priv 路径配置注意事项。
mysqldump -d dbname -u root -p > xxx.sql
mysqldump -d -B dbname1 dbname2 -u root -p > xxx.sql
mysqldump -t dbname -u root -p > xxx.sql
mysqldump -t -B dbname1 dbname2 -u root -p > xxx.sql
mysqldump dbname1 -u root -p > xxx.sql
mysqldump -B dbname1 dbname2 -u root -p > xxx.sql
mysqldump -d dbname1 tablename1 -u root -p > xxx.sql
mysqldump -d -B dbname1 --tables tablename1 tablename2 -u root -p > xxx.sql
mysqldump -t dbname1 tablename1 -u root -p > xxx.sql
mysqldump -d -B dbname1 --tables tablename1 tablename2 -u root -p > xxx.sql
mysqldump dbname1 tablename1 -u root -p > xxx.sql
mysqldump -B dbname1 --tables tablename1 tablename2 -u root -p > xxx.sql
只导出存储过程和函数(不导出结构和数据,要同时导出结构的话,需要同时使用 -d)。
mysqldump -R -ndt dbname1 -u root -p > xxx.sql
只导出事件。
mysqldump -E -ndt dbname1 -u root -p > xxx.sql
默认导出触发器(--triggers),使用 --skip-triggers 屏蔽导出。
mysqldump --skip-triggers dbname1 -u root -p > xxx.sql
| 参数 | 含义 |
|---|---|
-d | 结构(--no-data: 不导出任何数据,只导出数据库表结构) |
-t | 数据(--no-create-info: 只导出数据,而不添加 CREATE TABLE 语句) |
-n | --no-create-db: 只导出数据,而不添加 CREATE DATABASE 语句 |
-R | --routines: 导出存储过程以及自定义函数 |
-E | --events: 导出事件 |
--triggers | 默认导出触发器,使用 --skip-triggers 屏蔽导出 |
-B | --databases: 导出数据库列表,单个库时可省略 |
--tables | 表列表(单个表时可省略) |
组合示例:
-d 和 -t-ntd-R -ntd-R -E(相当于省略了 -d -t,触发器默认导出)-R -E -dsource xxx.sql
首先使用语句查看可以导入/导出的路径在哪里。
SHOW VARIABLES LIKE '%secure%';
若报错 Error Code: 1290. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement,表示导入/导出只能存放在指定路径下。
如果有权限问题,请修改 my.ini 将 secure_file_priv 设置到有权限的路径下。
SELECT *
INTO OUTFILE 'E:/table1_data.csv'
CHARACTER SET gb2312
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"'
LINES TERMINATED BY '\r\n'
FROM table1;
LOAD DATA INFILE 'E:/table1_data.csv'
INTO TABLE table1 CHARACTER SET gb2312
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"'
LINES TERMINATED BY '\r\n';
默认使用空格作为分隔符,需要其它参数请参考上面的 CSV 操作。
SELECT *
INTO OUTFILE 'E:/table1_data.txt'
FROM table1;
LOAD DATA INFILE 'E:/table1_data.txt'
INTO TABLE table1;

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
在线格式化和美化您的 SQL 查询(它支持各种 SQL 方言)。 在线工具,SQL 美化和格式化在线工具,online
解析 INSERT 等受限 SQL,导出为 CSV、JSON、XML、YAML、HTML 表格(见页内语法说明)。 在线工具,SQL转CSV/JSON/XML在线工具,online
CSV 与 JSON/XML/HTML/TSV/SQL 等互转,单页多 Tab。 在线工具,CSV 工具包在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online