您的位置:首页 > 运维架构 > Linux

centos下使用cdb_mydumper手动备份与恢复mysql

2016-09-07 21:05 501 查看


手动备份与恢复

 查看pdf

目录
1
通用说明
1.1
权限控制
1.2
使用限制
1.3
导出数据格式说明

2
工具说明
2.1
注意事项
2.2
安装说明
2.3
命令说明
2.4
命令示例
2.5
命令输入参数说明
2.6
导出数据中说明
2.7
导出数据完成
2.8
导出数据出错
2.9
导出数据的输出文件目录结构


1 通用说明

用户可以使用云数据库多线程导入导出工具(cdb_mydumper),完成和mysqldump类似的功能,用来快速备份和恢复实例数据。


1.1 权限控制

为了保证实例数据的安全性,只能在有权限访问该实例的虚拟机上使用本工具。


1.2 使用限制

本工具需要在Linux云服务器上运行,并使用正确的用户名和密码访问实例。

在执行数据导出导入时,需要按工具的使用说明设置好相关的参数,默认会在本地按时间生成目录,如export-20130926-185241 。


1.3 导出数据格式说明

导出的数据格式默认是binary格式的sql文件。


2 工具说明


2.1 注意事项

1.因为cdb_mydumper采用多线程导出,所以无法保证导出顺序和使用mysqldump一致,可能会给某些依赖时间的特性(routine,event等)带来数据不一致,建议用户把mysql库和其他数据库分开导出导入。

2. 因为cdb_mydumper提供的库提取和库合并功能依赖于分割符,所以要求用户数据库名不包含点号(.) ,表名不包含减号(-)。


2.2 安装说明

1.下载云数据库数据导入导出工具:
版本发布日期说明
cdb_mydumper_v1.0.0.tar.gz2013-10-01云数据库数据多线程导入导出工具1.0.0版本下载链接。
2.将该工具保存到本地后,上传到云服务器,然后登录云服务器(仅限Linux服务器)对工具包进行解压。

解压过程如下:
tar xzvf cdb_mydumper_v1.0.0.tar.gz


3.解压后,会出现mydumper文件夹,里面有2个二进制执行文件。文件说明如下:

mydumper:云数据库数据多线程导出工具。

myloader:云数据库数据多线程导入工具。

4.此工具无需安装,直接在云服务器(仅限Linux服务器)上运行即可。


2.3 命令说明

在使用工具导出数据之前,先赋予文件执行权限,命令如下:
$ chmod +x mydumper myloader


执行如下命令:
$ ./mydumper –V


运行以上命令后,屏幕上打印出如下文字:

注意将下面打印出的工具版本号与2.1节中给出的工具最新版本做对比,如果不一致,则请下载最新的工具。
mydumper 0.2.3-cdb-1.0.0, built against MySQL 5.1.54
Compile Time: 01:55:13 Sep 19 2013


2.4 命令示例

1. 导出整个库
$./mydumper -h 127.0.0.1 –P 20120 –u root -p 123 -G -R -E -l -A -o alldb
2. 导入整个库
$./myloader -h 127.0.0.1 –P 20120 –u root -p 123 -d alldb
3. 导出多个库
$./mydumper -h 127.0.0.1 –P 20120 –u root -p 123 -G -R -E -l -B alarmDB,db_cms_logging,test -o dbs
4. 导入多个库
$./myloader -h 127.0.0.1 –P 20120 –u root -p 123 -d dbs
5. 导出单库多表
$./mydumper -h 127.0.0.1 –P 20120 –u root -p 123 -G -R -E -l -B alarmDB -T alarm_history,alarm_strategy -o tbs
6. 导入单库多表
$./myloader -h 127.0.0.1 –P 20120 –u root -p 123 –t 2 -d tbs
7. 提取库导入
$./myloader -h 127.0.0.1 –P 20120 –u root -p 123 -B alarmDB, db_cms_logging -d alldb
8. 提取表导入
$./myloader -h 127.0.0.1 –P 20120 –u root -p 123 -B alarmDB -T alarm_history,alarm_strategy -d dbs
9. 多库导入单库(合服)
$./myloader -h 127.0.0.1 –P 20120 –u root -p 123 -A newdir -B alarmDB -T alarm_history,alarm_strategy -d dbs


2.5 命令输入参数说明

mydumper
名称可选类型说明
-h,--host必选stringdump的实例ip。
-p,--password必选stringdump的实例密码。
-P,--port必选intdump的实例端口。
-S,--socket必选string本地dump的实例套接字信息,和-h -p -P二者选一。
-A,--all-databases可选intdump所有的数据库。
-B,--databases可选stringdump数据库列表,用逗号隔开。
-T,--tables-list可选stringdump数据表列表,用逗号隔开。
-o,--outputdir可选string输出目录,缺省值是./export-<datatime>/。
-s,--statement-size可选int生成的insert语句的字节数,缺省是64K。
-i,--ignore-engines可选string忽略的存储引擎类型,用逗号隔开。
-m,--no-schemas可选none不dump表的schema信息。
-G,--opt-triggers可选none需要dump表的trigger信息。
-R,--opt-routines可选none需要dump数据库的routine信息。
-E,--opt-events可选none需要dump数据库的event信息。
-n,--charset-name可选none设置导出的字符集,缺省是binary。
-l,--add-locks可选none设置是否在生成的sql数据文件前面加上lock table。
-t,--threads可选int并发导出线程的数目。默认6线程导出,用户可以调整该值来提高导出速度,最多可设置为128线程导出。
-V,--version可选none查看版本信息。
-v,--verbose可选int设置日志级别0=silent,1=errors,2=warnings,3=info,缺省是2。
myloader
名称可选类型说明
-d, --directory必选string导入的文件目录。
-h,--host必选string导入的实例ip。
-p,--password必选string导入的文件目录。。
-P,--port必选int导入的实例端口。
-S,--socket必选string本地导入的实例套接字信息,和-h -p -P二者选一。
-e,--enable-binlog必选none导入数据的时候记录binlog,如未指定此参数,会造成主从数据不一致。
-A,--all-databases可选none导入到同一个新的数据库。
-B,--databases可选string选择导入的数据库列表,用逗号隔开。
-T,--tables-list可选string选择导入数据表列表,用逗号隔开。
-W, --skip-views可选none设置不需要导入view。
-R, --skip-routines可选none设置不需要导入routine。
-E, --skip-events可选none设置不需要导入event。
-t,--threads可选int并发导入线程的数目。用户可通过调整该值来调整导入速度,建议设置为4线程以内导入,最好设置为2线程导入。
-V,--version可选none查看版本信息。
-v,--verbose可选int设置日志级别0=silent,1=errors,2=warnings,3=info,缺省是2。


2.6 导出数据中说明

默认条件下,导出过程不输出任何信息,可以使用-v 来设置日志级别,看到进度信息


2.7 导出数据完成

默认条件下,导出过程不输出任何信息,完成后进程退出


2.8 导出数据出错

若导入导出过程中出错,此工具会打印出和MySQL错误输出一致的错误信息和错误码,具体可以查看MySQL的错误码


2.9 导出数据的输出文件目录结构

输出文件说明:
文件类型命名规则示例说明
导出的头信息文件SaveDir/.metedata_beginalldb/.metadata_begin文本格式,保持和mysqldump的输出首部相同。
导出的库schema信息文件SaveDir/dbname-dbmyschema.sqlalldb/mysql-dbmyschema.sql导出的库schema信息。
导入的库routine信息文件SaveDir/dbname-dbmyroutine.sqlalldb/mysql-dbmyroutine.sql导入的库routine信息。
导出的库event信息文件SaveDir/dbname-dbmyevent.sqlalldb/mysql-dbmyevent.sql导出的库event信息。
导出的库对应的view信息文件SaveDir/dbname-dbmyview.sqlalldb/d_ip_lib.v_detail-dbmyview.sql导出的库对应的view的schema信息。
导出的view的schema信息文件SaveDir/dbname.tbname-myview.sqlalldb/d_ip_lib.v _detail-myview.sql导出的view的schema信息。
导出的表的schema信息文件SaveDir/dbname.tbname-myschema.sqlalldb/d_ip_lib.t_svr-myschema.sql导出的表的schema信息。
导出的表的数据文件SaveDir/dbname.tbname-mytable.sqlalldb/d_ip_lib.t_svr-mytable.sql导出的表的数据信息。
导出的尾信息文件SaveDir/.metedata_endalldb/.metadata_end文本格式,保持和mysqldump的输出尾部相同。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: