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

来源:互联网 发布:乐其网络上海墨灿游戏 编辑:程序博客网 时间:2024/06/05 05:36

手动备份与恢复

 查看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 使用限制

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

  2. 在执行数据导出导入时,需要按工具的使用说明设置好相关的参数,默认会在本地按时间生成目录,如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的输出尾部相同。
0 0