1、问题
①如何从mysql导出大约1亿条记录,给下游系统使用?
②如何保证导出对生产正在使用的库尽量无影响?
③如何保证导出后数据可以进行适当变形,比如主键可以加前缀什么的?
注:如果想直接看解决方案,可以直接跳到第4部分。
2、mysql常用导出命令
①mysqldump导出
常用导出示例:
mysqldump -u username -p --single-transaction --skip-lock-tables dbname > backup.sql
②select into outfile 导出
常用导出示例:
SELECT * FROM tablename
INTO OUTFILE '/path/to/directory/data.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
③mysql --batch -e "select .." 导出
常用导出示例:
mysql -u username -p --batch -e "SELECT * FROM tablename" dbname > data.csv
3、mysql常用导出方法比对
①使用场景对比
mysqldump
- 适用场景:数据库备份和恢复;数据迁移到不同的数据库或服务器;生成可以被其他 MySQL 实例恢复的 SQL 文件。
SELECT INTO OUTFILE
- 适用场景:导出数据到文件系统以供进一步处理;数据分析和报表生成;数据导出到其他系统或工具使用(例如数据仓库)。
版权归原作者 开发里面最懂数据库的光光 所有, 如有侵权,请联系我们删除。