mysqldump
命令。具体的命令如下:,,``bash,mysqldump u 用户名 p 数据库名 > 数据库备份文件.dmp,
`,,,,
`bash,mysqldump u root p mydatabase > mydatabase_backup.dmp,
``,,在执行命令时,系统会提示输入密码,输入正确的密码后即可开始导出。gs_dump
是openGauss提供的一种用于导出数据库相关信息的工具,通过该工具,用户可以自定义导出一个数据库或其中的对象(如模式、表、视图等),但不支持回收站对象。gs_dump
工具由操作系统用户omm执行,并且在数据导出过程中,其他用户可以继续访问openGauss数据库(读或写)。
gs_dump
支持导出完整一致的数据,如果在T1时刻启动gs_dump
导出A数据库,那么导出的数据结果将会是T1时刻A数据库的数据状态,T1时刻之后对A数据库的修改不会被导出。gs_dump
生成的列不会被转储。
主要功能
gs_dump
可以创建四种不同的导出文件格式,通过[F或者–format=]选项指定,具体如下:
格式名称 | F的参数值 | 说明 | 建议 | 对应导入工具 |
纯文本格式 | p | 纯文本脚本文件包含SQL语句和命令,命令可以由gsql命令行终端程序执行,用于重新创建数据库对象并加载表数据。 | 小型数据库,一般推荐纯文本格式。 | 使用gsql工具恢复数据库对象前,可根据需要使用文本编辑器编辑纯文本导出文件。 |
自定义归档格式 | c | 一种二进制文件,支持从导出文件中恢复所有或所选数据库对象。 | 中型或大型数据库,推荐自定义归档格式。 | 使用gs_restore可以选择要从自定义归档导出文件中导入相应的数据库对象。 |
目录归档格式 | d | 该格式会创建一个目录,该目录包含两类文件,一类是目录文件,另一类是每个表和blob对象对应的数据文件。 | 使用gs_restore可以选择要从自定义归档导出文件中导入相应的数据库对象。 | |
tar归档格式 | t | tar归档文件支持从导出文件中恢复所有或所选数据库对象,tar归档格式不支持压缩且对于单独表大小应小于8GB。 | 使用gs_restore可以选择要从自定义归档导出文件中导入相应的数据库对象。 |
注意事项
1、禁止修改导出的文件和内容:否则可能无法恢复成功。
2、数据一致性和完整性:gs_dump
会对需要转储的表设置共享锁,如果表在别的事务中设置了共享锁,gs_dump
会等待锁释放后锁定表,如果无法在指定时间内锁定某个表,转储会失败,用户可以通过指定–lockwaittimeout选项,自定义等待锁超时时间。
3、加密导出存储过程和函数:不支持。
4、语法:gs_dump [OPTION]... [DBNAME]
。“DBNAME”前面不需要加短或长选项。“DBNAME”指定要连接的数据库,不需要d,直接指定“DBNAME”。
示例
以下是一些使用gs_dump
的示例:
执行gs_dump,导出postgres数据库全量信息,导出的MPPDB_backup.sql文件格式为纯文本格式。 gs_dump U omm W Bigdata@123 f backup/MPPDB_backup.sql p 37300 postgres F p
执行gs_dump,仅导出postgres数据库中的数据,不包含数据库对象定义,导出文件格式为自定义归档格式。 gs_dump U omm W Bigdata@123 f backup/postgres_data_backup.dmp p 37300 postgres a F c
执行gs_dump,仅导出postgres数据库所有对象的定义,导出文件格式为sql文本格式。 gs_dump U omm W Bigdata@123 f backup/postgres_def_backup.sql p 37300 postgres s F p
FAQs
1、问题一:如何使用gs_dump
导出单个数据库?
答案:使用gs_dump
导出单个数据库时,可以指定数据库名称和导出格式,以下命令将导出名为mydb
的数据库,并将其保存为纯文本格式的SQL文件:
```bash
gs_dump U omm W password f mydb_backup.sql p port_number mydb F p
```
2、问题二:如何确保在使用gs_dump
时不会锁定表?
答案:为了避免锁定表,可以在gs_dump
命令中指定–lockwaittimeout
选项,以自定义等待锁超时时间,这样,如果无法在指定时间内锁定某个表,转储操作将会失败,从而避免长时间锁定表的情况发生。
通过上述介绍,相信你已经对gs_dump
有了全面的了解,无论是导出单个数据库还是整个数据库集群,gs_dump
都能提供灵活而强大的解决方案,帮助你高效地管理和迁移数据库数据。