收藏 分享(赏)

备份和恢复过程及MySQL数据库itimscloud和DMSN_998的数据恢复.docx

上传人:yjrm16270 文档编号:5154558 上传时间:2019-02-10 格式:DOCX 页数:15 大小:126.03KB
下载 相关 举报
备份和恢复过程及MySQL数据库itimscloud和DMSN_998的数据恢复.docx_第1页
第1页 / 共15页
备份和恢复过程及MySQL数据库itimscloud和DMSN_998的数据恢复.docx_第2页
第2页 / 共15页
备份和恢复过程及MySQL数据库itimscloud和DMSN_998的数据恢复.docx_第3页
第3页 / 共15页
备份和恢复过程及MySQL数据库itimscloud和DMSN_998的数据恢复.docx_第4页
第4页 / 共15页
备份和恢复过程及MySQL数据库itimscloud和DMSN_998的数据恢复.docx_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、 1 / 15修改记录20140624 “恢复过程”中强调了工作空间的恢复;增加目录权限的设置内容;备份和恢复过程说明从服务器 A 备份 ITIMS 环境,在服务器 B 恢复 ITIMS 环境。要求服务器 A 和服务器 B 都使用过 installStandAlone.sh 安装过 ITIMS 环境,并且都安装在相同的路径下,如/itims。特别注意:安装的路径必须相同。备份常见场景用户现场更换服务器 执行 backupStandAloneAllJarRoot.sh 保留备份目录下的所有文件 另外:需要原始的安装程序包用户现场程序拿回公司测试 公司有原始安装包执行 backupStandAlo

2、neItimsJarRoot.sh【假定前提现场更新补丁未更新过第三方的包,否则也需要执行 backupStandAloneAllJarRoot.sh】 ,没有原始安装包执行 backupStandAloneAllJarRoot.sh。 备份目录下的DMSN_998_D_TP.tar.gz、DMSN_998_D_TF.tar.gz、DMSN_998_D_TM.tar.gz、workfiles_rpt.tar.gz 这 4 个文件不需要 【 这 4 个文件可能会比较大,只是测试程序的时候不需要这些文件】 。2 / 15备份过程备份过程之需要执行备份脚本即可。常用的备份脚本有 backupStan

3、dAloneAllJarRoot.sh和 backupStandAloneItimsJarRoot.sh。其他的备份脚本见“ 附录 1:备份脚本说明” 。backupStandAloneAllJarRoot.sh 和 backupStandAloneItimsJarRoot.sh 的区别在于backupStandAloneAllJarRoot.sh 将各个目录下所有的 jar 都备份,backupStandAloneItimsJarRoot.sh 是将各个目录下 itims 开头 jar 都备份。所以backupStandAloneAllJarRoot.sh 产生的备份文件比较大,backup

4、StandAloneItimsJarRoot.sh 产生的备份文件比较小。backupStandAloneAllJarRoot.sh 主要用于服务器 A 和 B 安装的不是同一个发布版本(这时第三方的包可能有差异) 。backupStandAloneItimsJarRoot.sh 主要用户服务器 A 和 B 安装的是同一个发布版本(第三方包相同) 。或者由于网络环境不允许传输大的备份文件(备份包中有第三方包的包名和大小的文本说明) 。backupStandAloneItimsJarRoot.sh 中最大的文件是 DMSN_998_D_TP.tar.gz 和workfiles_rpt.tar.g

5、z(最新版备份脚本才生成) ,如果不需要性能数据和报表的话可以不复制该文件。可能比较大的文件是 DMSN_998_D_TF.tar.gz 和 DMSN_998_D_TM.tar.gz 如果不需要告警和 SYSLOG 数据的话可以不复制该文件。backupStandAloneAllJarRoot.sh 执行完毕后生成 bakalljar+备份时间(年月日时分秒)的目录,所有的备份文件在这个目录中,文件的说明见“附录 4:备份文件说明” 。backupStandAloneItimsJarRoot.sh 执行完毕后生成 bakitimsjar+备份时间(年月日时分秒)的目录,所有的备份文件在这个目录

6、中,文件的说明见“附录 4:备份文件说明” 。备份过程中脚本的输出见“附录 2:备份脚本输出” ,这个部分只涉及到数据库的备份,其他的备份主要是对目录进行 tar 命令打包一般不会出现错误并且也没有输出。备份完成后请检查备份数据是否正常,参照“附录 3:检查备份数据 ”检查数据库的备份是否合规,参照“附录 4:备份文件说明”检查备份文件中的文件大小是否合规。3 / 15恢复过程 服务器 B 上安装的 ITIMS 环境在恢复前最好可以先启动服务并测试 TOMCAT 可以登录等基本功能。 将所有的非 MySQL 数据文件(见“附录 4:备份文件说明 ”)解压后覆盖相应的目录下的同名文件。特别注意:

7、不能删除服务器 B 上的任何文件,否则会影响程序的运行。 恢复 MySQL 的数据过程见“附录 5:恢复数据” ,如果不需要性能、告警、 SYSLOG 数据的话,只需要恢复 itimscloud 库的数据和 DMSN_998_C.sql 和 DMSN_998_D.sql 的数据,环境即可使用,这样恢复的速度比较快。 特别需要注意的是工作空间的恢复,系统中的数据是同时存在在数据库和工作空间中的,所以在恢复数据库后必须同时恢复工作空间,否则会出现数据不一致的问题,引起很多问题。 目录的权限设置:1. 建议 ITIMS 所有目录的宿主设置为 itims 用户2. 建议 cloudCore、cloud

8、Mgr、tomcat 这 3 个目录设置 777 权限。进入 ITIMS 安装目录rootlocalhost # cd $ITIMSINST_PATH4 / 15执行rootlocalhost release# chown itims:itims * -R执行rootlocalhost release# chmod 777 cloudCore/ cloudMgr/ tomcat/ -R 执行 updateStandAloneIpAddrRoot.sh 服务器 BIP,更新环境中的 IP 地址。 启动服务即恢复环境完毕。附录 1:备份脚本说明备份脚本为陆续增减,所有不是所有的发布版本都具有这些备

9、份脚本。备份脚本 backupCloudDB.sh(备份云库,其他脚本调用,基本上不单独使用) backupDMSNDB.sh(备份 998 租户库,其他脚本调用,基本不单独使用) backupStandAloneAllJarNoDataRoot.sh(备份程序、工作空间) backupStandAloneAllJarRoot.sh(新版全备份,功能同 backupStandAloneRoot.sh) backupStandAloneDataRoot.sh(备份数据,备份数据库、工作空间)5 / 15 backupStandAloneItimsJarRoot.sh(精简备份,备份程序 jar

10、文件只备份 itims 开头的文件,但是列出所有 jar 的大小和文件名、数据库、工作空间) backupStandAloneLogRoot.sh(备份日志) backupStandAloneRoot.sh(老版的全备份,备份所有的程序、数据库、工作空间) showLibJarFileRoot.sh(显示 jar 文件的列表,包括大小和文件名,backupStandAloneItimsJarRoot.sh 调用)附录 2:备份脚本输出请检查执行备份脚本输出时是否基本符合下面的输出使用 mysqlhotcopy 复制 tp 开头的表, tp 表应该有 300 多个,如果数量明显不同则存在问题Lo

11、cked 348 tables in 0 seconds.Flushed tables (dmsn_998.tpctdns, dmsn_998.tpctdubangrt, dmsn_998.tpctftp, dmsn_998.tpctimap, dmsn_998.tpctldap, dmsn_998.tpctmail, dmsn_998.tpctnntp, 中间忽略了需要输出应该共 348 个表dmsn_998.tpwebspheretrans_a) in 0 seconds.Copying 696 files.Copying indices for 348 files.Unlocked ta

12、bles.mysqlhotcopy copied 348 tables (696 files) in 177 seconds (178 seconds overall).Locked 3 tables in 0 seconds.如果复制 tf 开头的 3 张表的时候出现错误,没有问题。因为老版本的这些表的引擎不是MyISAM,所以肯定出错。在恢复数据的时候这些数据将丢失。如果想保留这些数据需要使用 mysqldump 导出单个表的数据。Flushed tables (dmsn_998.tfevt, dmsn_998.tfevthis, dmsn_998.tfevthisd) in 0 seco

13、nds.Copying 8 files.6 / 15Copying indices for 3 files.Unlocked tables.mysqlhotcopy copied 3 tables (8 files) in 1 second (6 seconds overall).Locked 1 tables in 0 seconds.tmsyslogrealtimelog 表和 tf 开头的表一样,老版本会出现错误。Flushed tables (dmsn_998.tmsyslogrealtimelog) in 0 seconds.Copying 2 files.Copying indic

14、es for 1 files.Unlocked tables.mysqlhotcopy copied 1 tables (2 files) in 0 seconds (0 seconds overall).Warning: -directory (-d) option is undocumented and no-op.Use -rf for deleting non-empty dirsWarning: -directory (-d) option is undocumented and no-op.Use -rf for deleting non-empty dirsWarning: -d

15、irectory (-d) option is undocumented and no-op.Use -rf for deleting non-empty dirsWarning: -directory (-d) option is undocumented and no-op.Use -rf for deleting non-empty dirsWarning: -directory (-d) option is undocumented and no-op.Use -rf for deleting non-empty dirs总参独有的错误,由于工作空间中的文件有可能被破坏导致 tar 工

16、作空间时失败,最好可以用 rm f 文件名 命令删除错误的文件后再执行本法脚本。tar: workfiles/rptdbxmldefault+TOMCAT+1/_db.006:无法 stat: 输入/输出错误tar: 由于前面延迟的错误而退出由于 /etc/f 中没有配置 datadirdatadir not in mysqld variables at /usr/bin/mysqlhotcopy line 234比较奇怪的问题是以前也没有配置就没有问题。7 / 15现在新装的系统是 64 位的,实际文件放在 itims/dbfile/mysql, /var/lib/mysql 做了软连接在

17、/etc/f 中的mysqlddatadir=/var/lib/mysql重启 Mysql 后备份成功。公司 152.4 备份时出现的错误,数据库存在问题,执行 mysqldump 时出现错误,无法成功备份数据库中的数据。mysqldump: Error: Cant create/write to file /tmp/#sql_dde_2.MYI (Errcode: 28) when trying to dump tablespacesmysqldump: Couldnt execute show fields from ip_restore: Cant create/write to fil

18、e /tmp/#sql_dde_0.MYI (Errcode: 28) (1)附录 3:检查备份数据 检查 itimscloud_C.sql.gz(也有可能只有 itimscloud.sql.gz,里面包含了 C 和 D 的内容,文件大小大约为 1.9M)中的 itimscloud_C.sql 的大小是否正常,正常的大概 40k,如果文件过小则说明导出 itimscloud 库时出现错误,需要检查 itimscloud 库是否才能在问题。 检查 DMSN_998_C.tar.gz 中的 DMSN_998_C.sql 的大小是否正常,正常的大概 500k,如果文件过小则说明导出 DMSN_998

19、 库时出现错误,需要检查 DMSN_998 库是否才能在问题。DMSN_998_C.sql 是使用一个 mysqldump 命令导出建表语句;DMSN_998_C2.sql是每个表执行一个 mysqldump 命令导出见表语句合并成的文件,所以DMSN_998_C2.sql 大小约为 1.5M。这 2 个 SQL 从功能上没有区别,如果DMSN_998_C.sql 的大小正常,可以直接使用 DMSN_998_C.sql,如果 DMSN_998_C.sql小于 100k,则建议使用 DMSN_998_C2.sql。 检查 DMSN_998_D.tar.gz 中是否包含 DMSN_998_D.sq

20、l,如果不存在该文件则需要使用最新的备份脚本备份。8 / 15附录 4:备份文件说明backupStandAloneAllJarRoot.sh 备份文件说明 cloudCore.tar.gz 是整个 cloudCore 目录中程序的备份(不含工作目录) ,无动态数据,不同时间的备份文件大小应该基本一致。 cloudMgr.tar.gz 是整个 cloudMgr 目录中程序的备份,无动态数据,不同时间的备份文件大小应该基本一致。 DMSN_998_C.tar.gz 是 DMSN_998 库的建表语句的备份,无动态数据,不同时间的备份文件大小应该基本一致。 DMSN_998_D.tar.gz 是

21、DMSN_998 库的管理数据的备份,含部分动态数据,不同时间的备份文件大小应该差别不大。 DMSN_998_D_TF.tar.gz 是 DMSN_998 库的告警数据的备份,动态数据,文件大小变化大。 DMSN_998_D_TM.tar.gz 是 DMSN_998 库的 SYSLOG 数据的备份,动态数据,文件大小变化大。 DMSN_998_D_TP.tar.gz 是 DMSN_998 库的 SYSLOG 数据的备份,动态数据,文件大小变化大。 itims.tar.gz 是 tomcat/webapps/itims 的备份,含部分图片动态数据,不同时间的备份文件大小应该差别不大。 itims

22、cloud.sql.gz 是 itimscloud 库的建表语句和数据的备份,含部分动态数据,不同时9 / 15间的备份文件大小应该差别不大。 probe.tar.gz 是整个 probe 目录中程序的备份,无动态数据,不同时间的备份文件大小应该基本一致。 workfiles.tar.gz 是整个工作目录除报表以外的备份,含部分动态数据,不同时间的备份文件大小应该差别不大。如果同目录中不包含 workfiles_rpt.tar.gz 则是老版本的备份脚本还未将报表单独备份,那个文件大小变化大。 workfiles_rpt.tar.gz 是整个工作目录报目录的备份,动态数据,文件大小变化大。ba

23、ckupStandAloneItimsJarRoot.sh 备份文件说明 所有的 txt 文件是对应的目录的 jar 文件的说明,如 cloudCore_cloud_lib.txt 就是cloudCore/cloud/_lib 目录下的所有文件的说明。文件格式如下: cloudCore.tar.gz 是整个 cloudCore 目录中程序的备份(不含工作目录和 _lib 目录) ,无10 / 15动态数据,不同时间的备份文件大小应该基本一致。 cloudCore_itims_lib.tar.gz 是整个 cloudCore 目录中的 _lib 目录中的 itims 开头的 jar,无动态数据,

24、不同时间的备份文件大小应该基本一致。 cloudMgr.tar.gz 是整个 cloudMgr 目录中程序的备份(不含_lib 目录) ,无动态数据,不同时间的备份文件大小应该基本一致。 cloudMgr_itims_lib.tar.gz 是整个 cloudMgr 目录中的_lib 目录中的 itims 开头的 jar,无动态数据,不同时间的备份文件大小应该基本一致。 DMSN_998_C.tar.gz、DMSN_998_D.tar.gz 、DMSN_998_D_TF.tar.gz、DMSN_998_D_TF.tar.gz、DMSN_998_D_TP.tar.gz 见上面的说明。 itims.

25、tar.gz 是 tomcat/webapps/itims 的备份(不含 lib 目录) ,含部分图片动态数据,不同时间的备份文件大小应该差别不大。 itims_itims_lib.tar.gz 是 tomcat/webapps/itims/WEB-INF/lib 目录中的 itims 开头的 jar,无动态数据,不同时间的备份文件大小应该基本一致。 itimscloud.sql.gz 见上面的说明。 probe.tar.gz 是整个 probe 目录中程序的备份(不含_lib 目录) ,无动态数据,不同时间的备份文件大小应该基本一致。 probe_itims_lib.tar.gz 是整个 p

26、robe 目录中的_lib 目录中的 itims 开头的 jar,无动态数据,不同时间的备份文件大小应该基本一致。 workfiles.tar.gz、workfiles_rpt.tar.gz 见上面的说明。附录 5:恢复数据 启动 mysql 服务,mysqld -user=mysql /dev/null 211 / 15drop database dmsn_998; 解压缩所有的备份文件,将备份文件复制到/root 目录下gunzip itimscloud_C.sql.gz gunzip itimscloud_D.sql.gz(也有可能只有 itimscloud.sql.gz,里面包含了 C

27、 和 D 的内容,文件大小大约为 1.9M)tar -xzf DMSN_998_C.tar.gztar -xzf DMSN_998_D.tar.gz tar -xzf DMSN_998_D_TF.tar.gz tar -xzf DMSN_998_D_TM.tar.gztar -xzf DMSN_998_D_TP.tar.gz 创建 itimscloud 库create database itimscloud;use itimscloud;source /root/itimscloud_C.sql;source /root/itimscloud_D.sql;(如果结构和数据导入到一个 sql 中

28、则是 source /root/itimscloud.sql;)commit; 创建 DMSN_998 库create database DMSN_998;use DMSN_998;source /root/create/DMSN_998_C.sql;source /root/data/DMSN_998_D.sql;commit; 停止 MySQL 服务(下面的命令会杀掉所有 mysqld 的进程)ps -ef | grep mysqld | kill -9 awk -F print $2; 恢复 MyISAM 表文件(注:一个正常的 MyISAM 表应该是 3 个文件,*.frm、*.MYD

29、、*.MYI。由于一些数据库的脚本比较老导致 tfdata 和 tmdata 下的表示 InnoDB 的引擎,所以备份出来只有*.frm 文件,这样的 tfdata 和 tmdata 不需要处理,只处理 tpdata 即可。 ) 恢复 tpdata 文件12 / 15 进入原始路径cd /root/tpdata 获取数据文件目录rootlocalhost tpdata# more /etc/f|grep datadirdatadir = /itims/mysql/mysql如果不能获取到 datadir,则数据库的 datadir 为默认路径 var/lib/mysql。单机版的路径就是默认路

30、径。注意:如果 datadir 路径为默认路径,则下面的命令的目标目录需要做相应的修改。 测试复制文件, (主要是为了测试是否能正确覆盖文件)rootlocalhost tpdata# cp dmsn_998/ /itims/mysql/mysql -Rcp:是否覆盖“/itims/mysql/mysql/dmsn_998/tpemersoninputperf.frm”? 复制文件rootlocalhost tpdata# /bin/cp dmsn_998/ /itims/mysql/mysql Rf 恢复 tfdata 和 tmdata 文件,如果需要处理参考“恢复 tpdata 文件” 。

31、tfdata 备份了tfevt 表(告警事件) ,tmdata 备份了 tmsyslogrealtimelog 表(Syslog 接收数据) 。只有最新的创建库的语句这两个表才修改为 MyISAM。如果是老的建表语句,只会备份出*.frm 文件则不需要处理。 (如果不对这两个表单独处理的话,相应的数据将丢失) 修改文件属主,因为使用 root 拷贝文件可能导致文件属主为 root。在下面这个目录下以 root 权限执行命令rootlocalhost mysql# chown mysql:mysql * -R13 / 15 重建 MyISAM 表的索引cd /itims/mysql/mysql/

32、dmsn_998myisamchk -rq *.MYI 启动 mysql 服务,mysqld -user=mysql /dev/null 2 try to repair it14 / 15dmsn_998.tpctdns check error Corrupt对于有错误的表需要特别的关注一下。 检查 tee 日志,查看是否存在执行 SQL 时的错误。其中 ERROR 1235 (42000): This version of MySQL doesnt yet support multiple triggers with the same action time and event for on

33、e table错误可以忽略。 检查数据mysql -u itims -pitims1cstnet2DHmysql use itimscloud;Database changedmysql select count(*) from tmservrouting;+-+| count(*) |+-+| 14 |+-+1 row in set (0.01 sec)mysql use dmsn_998;Database changedmysql select count(*) from tcmo;+-+| count(*) |+-+| 3466 |+-+1 row in set (0.00 sec)mysql select count(*) from tprfcmib2if;+-+| count(*) |+-+15 / 15| 187495 |+-+1 row in set (0.00 sec) 更新服务的 ip 地址为 127.0.0.1mysql use itimscloud;Database changedmysql update tmservice set fip=127.0.0.1;Query OK, 6 rows affected (0.02 sec)Rows matched: 10 Changed: 6 Warnings: 0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > 数据库

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报