FAQ首页 > 安装使用 > Supesite > 查看文章
收起边栏
大字 小字 收藏 复制URL










SupeSite 6.0.x 单个用户个人空间数据恢复流程
2009-03-23┆44,233 Views┆4

此文档,以恢复 uid 为 85710 的博客数据为例,将备份数据存放到新开的名称为 discuz_090128 的数据库里。恢复的思路是,先恢复备份数据到 discuz_090128 数据库,然后在 discuz_090128 数据库新建 spaceitems、attachments、spacelinks、itemtypes、spaceblogs、spaceimages 六个表,然后将备份中该用户的博客数据对应导入到这些表中,接着,将这些表的数据导入到线上正式站点的数据库,最后统计这个用户的日志、视频文章等的数量。

一、恢复备份

这一部将原来备份的数据上传到博客数据库所在服务器上。假设备份的数据放在一个名称为 discuz_090128 的数据库里

二、处理数据

1)建立临时数据表 spaceitems、attachments、spacelinks、itemtypes、spaceblogs、spaceimages

    CODE: [COPY]
  • CREATE TABLE `spaceitems` ( 
  •   `itemidmediumint(8unsigned NOT NULL auto_increment,
  •   `catidsmallint(6unsigned NOT NULL default '0',
  •   `uidmediumint(8unsigned NOT NULL default '0',
  •   `tidmediumint(8unsigned NOT NULL default '0',
  •   `usernamechar(15NOT NULL default '',
  •   `itemtypeidmediumint(8unsigned NOT NULL default '0',
  •   `typechar(10NOT NULL default '',
  •   `subtypechar(10NOT NULL default '',
  •   `subjectchar(80NOT NULL default '',
  •   `datelineint(10unsigned NOT NULL default '0',
  •   `lastpostint(10unsigned NOT NULL default '0',
  •   `viewnummediumint(8unsigned NOT NULL default '0',
  •   `replynummediumint(8unsigned NOT NULL default '0',
  •   `trackbacknummediumint(8unsigned NOT NULL default '0',
  •   `goodrateint(10unsigned NOT NULL default '0',
  •   `badrateint(10unsigned NOT NULL default '0',
  •   `digesttinyint(1NOT NULL default '0',
  •   `toptinyint(1NOT NULL default '0',
  •   `allowreplytinyint(1NOT NULL default '1',
  •   `hashchar(16NOT NULL default '',
  •   `foldertinyint(1NOT NULL default '1',
  •   `haveattachtinyint(1NOT NULL default '0',
  •   `gradetinyint(1NOT NULL default '0',
  •   `gidmediumint(8unsigned NOT NULL default '0',
  •   `gdigesttinyint(1NOT NULL default '0',
  •   `pollnummediumint(8unsigned NOT NULL default '0',
  •   `sidmediumint(8unsigned NOT NULL default '0',
  •   `nidmediumint(8unsigned NOT NULL default '0',
  •   `passwordchar(10NOT NULL default '',
  •   `styletitlechar(11NOT NULL default '',
  •   `picidmediumint(8unsigned NOT NULL default '0',
  •   PRIMARY KEY  (`itemid`),
  •   KEY `uid` (`uid`,`type`,`folder`,`top`,`dateline`),
  •   KEY `catid` (`catid`,`folder`,`dateline`),
  •   KEY `gid` (`gid`),
  •   KEY `type` (`type`,`folder`)
  • ENGINE=MyISAM AUTO_INCREMENT=DEFAULT CHARSET=gbk;</PRE><PRE>CREATE TABLE `attachments` (
  •   `aidmediumint(8unsigned NOT NULL auto_increment,
  •   `isavailabletinyint(1NOT NULL default '0',
  •   `typechar(20NOT NULL default '',
  •   `itemidmediumint(8unsigned NOT NULL default '0',
  •   `catidsmallint(6unsigned NOT NULL default '0',
  •   `uidmediumint(8unsigned NOT NULL default '0',
  •   `datelineint(10unsigned NOT NULL default '0',
  •   `filenamechar(150NOT NULL default '',
  •   `subjectchar(80NOT NULL default '',
  •   `attachtypechar(10NOT NULL default '',
  •   `isimagetinyint(1NOT NULL default '0',
  •   `sizeint(10unsigned NOT NULL default '0',
  •   `filepathchar(200NOT NULL default '',
  •   `thumbpathchar(200NOT NULL default '',
  •   `downloadsmediumint(8unsigned NOT NULL default '0',
  •   `hashchar(16NOT NULL default '',
  •   PRIMARY KEY  (`aid`),
  •   KEY `hash` (`hash`),
  •   KEY `itemid` (`itemid`),
  •   KEY `uid` (`uid`,`type`,`dateline`),
  •   KEY `type` (`type`)
  • ENGINE=MyISAM AUTO_INCREMENT=DEFAULT CHARSET=gbk;</PRE><PRE>CREATE TABLE `spacelinks` (
  •   `itemidmediumint(8unsigned NOT NULL default '0',
  •   `messagetext NOT NULL,  `relativetagstext NOT NULL,
  •   `postipvarchar(15NOT NULL default '',
  •   `relativeitemidsvarchar(255NOT NULL default '',
  •   `customfieldidsmallint(6unsigned NOT NULL default '0',
  •   `customfieldtexttext NOT NULL,  `includetagstext NOT NULL,
  •   `urlvarchar(255NOT NULL default '',
  •   `domainvarchar(150NOT NULL default '',
  •   `snaptypetinyint(1NOT NULL default '0',
  •   `snaptexttext NOT NULL,
  •   PRIMARY KEY  (`itemid`)
  • ENGINE=MyISAM DEFAULT CHARSET=gbk;</PRE><PRE>CREATE TABLE `itemtypes` (
  •   `typeidmediumint(8unsigned NOT NULL auto_increment,
  •   `uidmediumint(8unsigned NOT NULL default '0',
  •   `typechar(10NOT NULL default '',
  •   `typenamechar(50NOT NULL default '',
  •   `viewpermchar(15NOT NULL default '',
  •   `replypermchar(15NOT NULL default '',
  •   `getattachpermchar(15NOT NULL default '',
  •   `displayordertinyint(3unsigned NOT NULL default '0',
  •   PRIMARY KEY  (`typeid`),
  •   KEY `uid` (`uid`,`type`,`displayorder`)
  • ENGINE=MyISAM AUTO_INCREMENT=DEFAULT CHARSET=gbk;</PRE><PRE>CREATE TABLE `spaceblogs` (
  •   `itemidmediumint(8unsigned NOT NULL default '0',
  •   `messagetext NOT NULL,  `relativetagstext NOT NULL,
  •   `postipvarchar(15NOT NULL default '',
  •   `relativeitemidsvarchar(255NOT NULL default '',
  •   `customfieldidsmallint(6unsigned NOT NULL default '0',
  •   `customfieldtexttext NOT NULL,  `includetagstext NOT NULL,
  •   `moodvarchar(25NOT NULL default '',
  •   `weathervarchar(25NOT NULL default '',
  •   PRIMARY KEY  (`itemid`)
  • ENGINE=MyISAM DEFAULT CHARSET=gbk;</PRE><PRE>CREATE TABLE `spaceimages` (
  •   `itemidmediumint(8unsigned NOT NULL default '0',
  •   `messagemediumtext NOT NULL,
  •   `imagevarchar(200NOT NULL default '',
  •   `imagenumsmallint(6NOT NULL default '0',
  •   `relativetagsmediumtext NOT NULL,
  •   `postipvarchar(15NOT NULL default '',
  •   `relativeitemidsvarchar(255NOT NULL default '',
  •   `customfieldidsmallint(6unsigned NOT NULL default '0',
  •   `customfieldtextmediumtext NOT NULL,
  •   `includetagsmediumtext NOT NULL,
  •   `remoteurlmediumtext NOT NULL,
  •   `bgmusicvarchar(200NOT NULL default '',
  •   PRIMARY KEY  (`itemid`)
  • ENGINE=MyISAM DEFAULT CHARSET=gbk;

2)往临时表导入数据

    CODE: [COPY]
  • INSERT INTO spaceitems VALUES (SELECT FROM supe_spaceitems WHERE uid=85710);
  • INSERT INTO attachments (SELECT FROM supe_attachments WHERE itemid  INSELECT itemid FROM spaceitems));
  • INSERT INTO spacelinks (SELECT FROM supe_spacelinks WHERE itemid  INSELECT itemid FROM spaceitems));
  • INSERT INTO itemtypes SELECT FROM supe_itemtypes WHERE uid=85710;
  • INSERT INTO spaceblogs (SELECT FROM supe_spaceblogs WHERE itemid  INSELECT itemid FROM spaceitems));
  • INSERT INTO spaceimages (SELECT FROM supe_spaceimages WHERE itemid  INSELECT itemid FROM spaceitems));

三、备份正式数据库

四、往正式数据库导入临时表数据

    CODE: [COPY]
  • INSERT INTO discuz.supe_itemtypes SELECT FROM discuz_090128.itemtypes;
  • INSERT INTO discuz.supe_itemtypes SELECT FROM discuz_090128.itemtypes;
  • INSERT INTO discuz.supe_spaceblogs SELECT FROM discuz_090128.spaceblogs;
  • INSERT INTO discuz.supe_spaceimages SELECT FROM discuz_090128.spaceimages;
  • INSERT INTO discuz.supe_spaceitems SELECT FROM discuz_090128.spaceitems;
  • INSERT INTO discuz.supe_spacelinks SELECT FROM discuz_090128.spacelinks

五、更新用户统计数据

    CODE: [COPY]
  • UPDATE supe_userspaces SET spaceblognum=(SELECT COUNT(*) FROM discuz_090128.spaceitems WHERE type='blog'WHERE uid=85710;
  • UPDATE supe_userspaces SET spaceimagenum=(SELECT COUNT(*) FROM discuz_090128.spaceitems WHERE type='image'WHERE uid=85710;
  • UPDATE supe_userspaces SET spacevideonum=(SELECT COUNT(*) FROM discuz_090128.spaceitems WHERE type='video'WHERE uid=85710;
  • UPDATE supe_userspaces SET spacefilenum=(SELECT COUNT(*) FROM discuz_090128.spaceitems WHERE type='file'WHERE uid=85710;
  • UPDATE supe_userspaces SET spacelinknum=(SELECT COUNT(*) FROM discuz_090128.spaceitems WHERE type='link'WHERE uid=85710;
  • UPDATE supe_userspaces SET spacegoodsnum=(SELECT COUNT(*) FROM discuz_090128.spaceitems WHERE type='goods'WHERE uid=85710;
  • UPDATE supe_userspaces SET spaceallnum=(SELECT COUNT(*) FROM discuz_090128.spaceitemsWHERE uid=85710;

4

满意

不满意

本篇文章用到的Tags : 个人空间 数据恢复

没找到您想要的答案吗?建议您到我们的讨论区发帖寻求大家和 Comsenz 工作人员的帮助。