大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说mysqldump 在 StoneDB 中的使用注意事项,希望您对编程的造诣更进一步.
InnoDB导入StoneDB
此场景是利用mysqldump从InnoDB导出,然后再导入StoneDB,在导入StoneDB前,需要对导出文件做如下修改。
1)修改存储引擎
CREATE TABLE `t_user` (
xxx
) ENGINE=InnoDB;
CREATE TABLE `t_user` (
xxx
) ENGINE=stonedb;
2)去掉锁表语句
导出文件会输出”LOCK TABLES…WRITE”,这是因为导出时默认使用了参数”–add-locks”,由于StoneDB没有锁表语句,需要将导出文件的锁表语句去掉。
LOCK TABLES `t_user` WRITE;
UNLOCK TABLES;
3)去掉USING BTREE
StoneDB的索引结构是LMSTREE,InnoDB的索引结构是BTREE,如果是从其他客户端导出的文本,建表语句中如果有索引字段,通常会含有”USING BTREE”,导入StoneDB需要去掉。
4)去掉索引
在StoneDB中是不需要创建索引的,如果一个表有很多个索引,反而需要额外维护,可以将导出文件中的索引定义去掉。
StoneDB导入StoneDB
此场景是利用mysqldump从StoneDB导出,然后再导入StoneDB,在使用mysqldump时,需要注意如下几个事项。
1)使用mysqldump导出时会有如下报错,这是因为导出参数”–lock-all-tables”是默认的,表示导出期间锁表。但由于StoneDB没有锁表语句,可以使用参数”–single-transaction”规避。
Got error: 1031: Table storage engine for "STONEDB" doesn"t have this option when doing LOCK TABLES
2)导入数据时会有如下报错,这是因为导出参数”–add-locks”是默认的,会在导出文件输出”LOCK TABLES…WRITE”,导出时可以使用参数”–skip-add-locks”规避。
ERROR 1031 (HY000): Table storage engine for "STONEDB" doesn"t have this option
注:使用Percona的物理备份工具xtrabackup备份StoneDB时,有如下提示,说明xtrabackup不支持StoneDB备份。
innobackupex --defaults-file=/stonedb/install/stonedb.cnf --user=root --password=MySQL_123 --socket=/stonedb/install/tmp/mysql.sock --databases=ztpch.customer --no-timestamp /backup
Warning: "ztpch.customer" uses engine "STONEDB" and will not be backed up.
原文地址:https://www.cnblogs.com/yangwilly/archive/2022/08/19/16600940.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/4883.html