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

手动备份与恢复

  查看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.gz 2013-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 必选 string dump的实例ip。
-p,--password 必选 string dump的实例密码。
-P,--port 必选 int dump的实例端口。
-S,--socket 必选 string 本地dump的实例套接字信息,和-h -p -P二者选一。
-A,--all-databases 可选 int dump所有的数据库。
-B,--databases 可选 string dump数据库列表,用逗号隔开。
-T,--tables-list 可选 string dump数据表列表,用逗号隔开。
-o,--outputdir 可选 string 输出目录,缺省值是./export-/。
-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_begin alldb/.metadata_begin 文本格式,保持和mysqldump的输出首部相同。
导出的库schema信息文件 SaveDir/dbname-dbmyschema.sql alldb/mysql-dbmyschema.sql 导出的库schema信息。
导入的库routine信息文件 SaveDir/dbname-dbmyroutine.sql alldb/mysql-dbmyroutine.sql 导入的库routine信息。
导出的库event信息文件 SaveDir/dbname-dbmyevent.sql alldb/mysql-dbmyevent.sql 导出的库event信息。
导出的库对应的view信息文件 SaveDir/dbname-dbmyview.sql alldb/d_ip_lib.v_detail-dbmyview.sql 导出的库对应的view的schema信息。
导出的view的schema信息文件 SaveDir/dbname.tbname-myview.sql alldb/d_ip_lib.v _detail-myview.sql 导出的view的schema信息。
导出的表的schema信息文件 SaveDir/dbname.tbname-myschema.sql alldb/d_ip_lib.t_svr-myschema.sql 导出的表的schema信息。
导出的表的数据文件 SaveDir/dbname.tbname-mytable.sql alldb/d_ip_lib.t_svr-mytable.sql 导出的表的数据信息。
导出的尾信息文件 SaveDir/.metedata_end alldb/.metadata_end 文本格式,保持和mysqldump的输出尾部相同。

你可能感兴趣的:(linux)