使用 linux 脚本按库按表导出数据
时间: 2023-05-24 19:05:43 浏览: 133
要导出 MySQL 数据库中的所有表,可以按照以下步骤进行操作:
1. 打开终端,进入 MySQL 服务端命令行界面。
2. 选择要导出的数据库,可以使用如下命令:
```
use <database_name>
```
其中 `<database_name>` 是要导出的数据库名称。
3. 使用以下命令列出该数据库中所有的表:
```
show tables;
```
4. 针对所有表,使用以下命令导出数据:
```
mysqldump -u <username> -p <database_name> <table_name> > <output_file.sql>
```
其中 `<username>` 是 MySQL 用户名,`<database_name>` 是数据库名称,`<table_name>` 是要导出的表名称,`<output_file.sql>` 是输出文件的名称。
可以使用循环结构将上述命令应用到所有的表上,如下所示:
```
for i in `mysql -u <username> -p -e "use <database_name>;show tables;" | awk '{print $1}'`; do mysqldump -u <username> -p <database_name> $i > <output_dir>/$i.sql; done
```
其中 `<output_dir>` 是输出文件的目录。该命令将针对数据库中的每个表生成一个单独的 SQL 文件。
5. 导出完成后,可以使用以下命令将 SQL 文件压缩成一个 ZIP 文件:
```
zip -r <output_file.zip> <output_dir>
```
其中 `<output_file.zip>` 是输出 ZIP 文件的名称,`<output_dir>` 是包含 SQL 文件的目录。
阅读全文