加入收藏 | 设为首页 | 会员中心 | 我要投稿 航空爱好网 (https://www.52kongjun.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

GreatDB数据库如何利用mysqldump导入导出集群数据?

发布时间:2022-12-16 13:23:33 所属栏目:MsSql教程 来源:
导读:  一、数据导出

  使用 mysqldump 工具进行GreatDB数据库的数据导出,用法和 MySQL 是一样的。但是需要注意mssql数据库导出, 如果导出的数据需要包含视图, 则需要添加--single-transaction, 请使用示例中出现
  一、数据导出
 
  使用 mysqldump 工具进行GreatDB数据库的数据导出,用法和 MySQL 是一样的。但是需要注意mssql数据库导出, 如果导出的数据需要包含视图, 则需要添加--single-transaction, 请使用示例中出现的参数.
 
  简单示例如下:
 
  1)备份单表, 数据及表结构
 
  shell> mysqldump [options] db_name [tbl_name ...]
 
  例如:
 
  备份testdb库中t1表的数据以及表结构,导出的sql文件存放到/tmp目录中
 
  mysqldump -udbscale -pdbscale -h127.0.0.1 -P3307 --skip-add-locks testdb t1 > /tmp/tes tdb_t1.sql
 
  备份testdb库中t1表,t2表的数据以及表结构,导出的sql文件存放到/tmp目录中
 
  mysqldump -udbscale -pdbscale -h127.0.0.1 -P3307 --skip-add-locks testdb t1 t2 > /tmp/ testdb_table.sql
 
  2)备份单个库, 因为单个库中, 可能包含视图, 则需要添加 --single-transaction
 
  shell> mysqldump --databases [options] db_name --single-transaction ...数据导出例如:
 
  备份testdb整个库
 
  mysqldump -udbscale -pdbscale -h127.0.0.1 -P3307 --skip-add-locks --single-transaction
 
  --databases testdb > whole_database.sql
 
  如果需要备份存储过程(procedure)和函数(function), 则添加 --routines
 
  mysqldump -udbscale -pdbscale -h127.0.0.1 -P3307 --skip-add-locks --single-transaction
 
  --routines --databases testdb > whole_database.sql
 
  3)备份整个MySQL实例的所有数据, 因为包含视图, 所以需要添加--single-transaction
 
  shell> mysqldump [options] --all-databases
 
  例如:
 
  mysqldump -uroot -pmysql -h127.0.0.1 -P3307 --skip-add-locks --single-transaction --al l-databases > all_databases.sql
 
  二、数据导入
 
  对于使用 mysqldump 或者 mysqlpump 导出的文件,DBScale支持使用source命令或命令行文件重定向的方式进行数据导入,例如:
 
  导入备份库的sql文件
 
  mysql -udbscale -p -h127.0.0.1 -P3307 < /tmp/testdb.sql
 
  或者
 
  mysql -udbscale -p -h127.0.0.1 -P3307 source /tmp/testdb.sql
 
  导入备份库中的表的sql文件
 
  mysql -udbscale -p -h127.0.0.1 -P3307 testdb < testdb_t1.sql
 
  或者
 
  mysql -udbscale -p -h127.0.0.1 -P3307 testdb source /tmp/testdb_t1.sql
 
  或者
 
  mysql -udbscale -p -h127.0.0.1 -P3307 use testdb
 
  source /tmp/testdb_t1.sql
 
  需要注意的是:
 
  如果使用mysqldump命令从单机mysql库导出数据然后导入dbscale,那么需要在mysqldump命令添加参数"--sk ip-add-locks",否则可能无法导入dbscale.
 
  DBScale不支持同时执行多条SQL命令。使用mysql命令行客户端mysql会自动将多条SQL拆分逐个执行。如果使用图形工具,建议使用SQLYog.
 
  如果dump.sql文件中本身没有创建并 use 到一个schema的话,在执行数据导入前请先登陆集群创建 schema 并在导入的mysql命令中指定 schema.DBScale默认的schema是information_schema,所以如果没有 use s chema 就执行操作的话,可能会报错权限不够,而不是通常mysql 的 No database selected 报错.
 
  如果导入过程中报错"In multiple_mode, dbscale do not support set auto_increment value",
 
  请先执行:
 
  dbscale set global check_auto_increment_value = 0;
 
  然后进行导入;最后再执行:
 
  dbscale set global check_auto_increment_value = 0;
 

(编辑:航空爱好网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!