Backup and Restore

Also available in Deutsch, Français, Español?, Русский.



Add example to backup and restore WackoWiki via

  1. command line (database + files)
  2. via phpMyAdmin / Adminer and FTP

1. Via Command Line

1.1. Backup


To back up just the application database, create a dump file using the mysqldump tool. In this example, the database is named wacko_db; replace this with the name of the database you wish to export.


 $ mysqldump -u root -p wacko_db > backup.sql	

To back up all the databases, use this command instead:


 $ mysqldump -A -u root -p > backup.sql	

This operation could take some time depending on the database sizes.


The steps previously described will only back up the data contained inside your databases. There may be other files that you should take into account when performing a full backup, such as files that may have been uploaded to your application. Refer to your application’s documentation for more details.

1.2. Restore


Once you have the backup file, you can restore the data with a command like the one below:


 $ mysql -u root -p < backup.sql	

To restore the data to a specific database, include the database name in the command, as shown below. For example, to import the data to a database named wacko_db, use this command:


 $ mysql -u root -p -D wacko_db < backup.sql	

2. Via Admin Panel

You can transfer the tables and the user related files with the Backup and Restore module in the Admin panel.
The source and the target version of WackoWiki should be the same as well as the table prefix.

2.1. Backup


Steps in Admin panel

  1. Backup module: Run an backup of the entire wiki including the files.
    1. ensure that the folder file/backup/ exists and is writable
    2. The backup is stored under file/backup/[date_time].

2.2. Restore

  1. New installed wiki
    1. Move the folder to your new installed wiki and put it there at the same location, e.g. file/backup/
    2. transfer backup folder via SFTP
  2. Recovery mode
    1. If you want restore a backup in an existing installation to a new database, you've to create the new database and enter the new db_vendor, db_host, db_name and db_password in the config.php to run the Admin panel in recovery mode.
      • This mode is useful if you want upgrade your existing database to a newer version, change the db vendor (mariadb or mysql) or recover a corrupt database.
      • Dont forget to delete the config cache afterwards.
    2. Change the value for RECOVERY_MODE to 1 in your constants.php and go again to the Admin panel to restore your backup.
      • const RECOVERY_MODE			= 1;	
  3. Restore module: Run restore.
    1. restore backup
    2. The restore process can take a considerable amount of time depending on the volume of your backup.

00:52:31 - Initiated Restoration
================================================
Using parameters:
	Ignore duplicated keys: Yes
	Ignore duplicated files: Yes

Saved cluster: No
	Assume DROP TABLE


00:52:31 - Restoring the structure of the table
================================================
Perform SQL-instructions:

DROP TABLE IF EXISTS `lab_acl`;
CREATE TABLE IF NOT EXISTS `lab_acl` (
	`page_id` int(10) unsigned NOT NULL,
	`privilege` varchar(10) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`list` text COLLATE utf8mb4_unicode_520_ci NOT NULL, 
	UNIQUE `idx_page_id` (`page_id`, `privilege`)
) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
DROP TABLE IF EXISTS `lab_auth_token`;
CREATE TABLE IF NOT EXISTS `lab_auth_token` (
	`auth_token_id` int(10) unsigned NOT NULL auto_increment,
	`selector` char(12) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`token` char(64) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`user_id` int(10) unsigned DEFAULT '0' NOT NULL,
	`token_expires` datetime, 
	PRIMARY KEY (`auth_token_id`), 
	UNIQUE `idx_selector` (`selector`), 
	KEY `idx_user_id` (`user_id`)
) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
DROP TABLE IF EXISTS `lab_cache`;
CREATE TABLE IF NOT EXISTS `lab_cache` (
	`cache_id` int(10) unsigned NOT NULL auto_increment,
	`name` char(40) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`method` varchar(20) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`query` varchar(100) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`cache_lang` varchar(5) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`cache_time` datetime, 
	PRIMARY KEY (`cache_id`), 
	KEY `name` (`name`), 
	KEY `idx_cache_time` (`cache_time`)
) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
DROP TABLE IF EXISTS `lab_config`;
CREATE TABLE IF NOT EXISTS `lab_config` (
	`config_id` int(10) unsigned NOT NULL auto_increment,
	`config_name` varchar(100) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`config_value` text COLLATE utf8mb4_unicode_520_ci,
	`updated` timestamp DEFAULT CURRENT_TIMESTAMP NOT NULL on update CURRENT_TIMESTAMP, 
	PRIMARY KEY (`config_id`), 
	UNIQUE `name` (`config_name`)
) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
DROP TABLE IF EXISTS `lab_category`;
CREATE TABLE IF NOT EXISTS `lab_category` (
	`category_id` int(10) unsigned NOT NULL auto_increment,
	`parent_id` int(10) unsigned NOT NULL,
	`category_lang` varchar(5) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`category` varchar(100) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`category_description` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL, 
	PRIMARY KEY (`category_id`), 
	UNIQUE `idx_categories` (`category_lang`, `category`)
) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
DROP TABLE IF EXISTS `lab_category_assignment`;
CREATE TABLE IF NOT EXISTS `lab_category_assignment` (
	`assignment_id` int(10) unsigned NOT NULL auto_increment,
	`category_id` int(10) unsigned NOT NULL,
	`object_type_id` int(10) unsigned NOT NULL,
	`object_id` int(10) unsigned NOT NULL, 
	PRIMARY KEY (`assignment_id`), 
	UNIQUE `idx_assignment` (`category_id`, `object_type_id`, `object_id`), 
	KEY `idx_object_type_id` (`object_type_id`)
) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
DROP TABLE IF EXISTS `lab_external_link`;
CREATE TABLE IF NOT EXISTS `lab_external_link` (
	`link_id` int(10) unsigned NOT NULL auto_increment,
	`page_id` int(10) unsigned DEFAULT '0' NOT NULL,
	`link` text COLLATE utf8mb4_unicode_520_ci NOT NULL, 
	PRIMARY KEY (`link_id`), 
	KEY `idx_page_id` (`page_id`)
) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
DROP TABLE IF EXISTS `lab_file`;
CREATE TABLE IF NOT EXISTS `lab_file` (
	`file_id` int(10) unsigned NOT NULL auto_increment,
	`page_id` int(10) unsigned DEFAULT '0' NOT NULL,
	`user_id` int(10) unsigned NOT NULL,
	`file_name` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`file_lang` varchar(5) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`file_description` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`caption` text COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`author` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`source` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`source_url` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`license_id` int(10) unsigned DEFAULT '0' NOT NULL,
	`created` datetime,
	`modified` datetime,
	`file_size` int(10) unsigned DEFAULT '0' NOT NULL,
	`picture_w` int(10) unsigned DEFAULT '0' NOT NULL,
	`picture_h` int(10) unsigned DEFAULT '0' NOT NULL,
	`file_ext` varchar(10) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`mime_type` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`deleted` tinyint(1) unsigned DEFAULT '0', 
	PRIMARY KEY (`file_id`), 
	KEY `user_id` (`page_id`), 
	KEY `idx_deleted` (`deleted`), 
	KEY `idx_page_id` (`page_id`, `file_name`), 
	KEY `idx_page_id_2` (`page_id`, `created`)
) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
DROP TABLE IF EXISTS `lab_file_link`;
CREATE TABLE IF NOT EXISTS `lab_file_link` (
	`file_link_id` int(10) unsigned NOT NULL auto_increment,
	`page_id` int(10) unsigned DEFAULT '0' NOT NULL,
	`file_id` int(10) unsigned DEFAULT '0' NOT NULL, 
	PRIMARY KEY (`file_link_id`), 
	KEY `idx_page_id` (`page_id`), 
	KEY `idx_file_id` (`file_id`)
) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
DROP TABLE IF EXISTS `lab_log`;
CREATE TABLE IF NOT EXISTS `lab_log` (
	`log_id` int(10) unsigned NOT NULL auto_increment,
	`log_time` datetime,
	`level` tinyint(1) unsigned NOT NULL,
	`user_id` int(10) unsigned NOT NULL,
	`ip` varchar(45) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`message` text COLLATE utf8mb4_unicode_520_ci NOT NULL, 
	PRIMARY KEY (`log_id`), 
	KEY `idx_level` (`level`), 
	KEY `idx_ip` (`ip`), 
	KEY `idx_time` (`log_time`), 
	KEY `idx_user_id` (`user_id`)
) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
DROP TABLE IF EXISTS `lab_menu`;
CREATE TABLE IF NOT EXISTS `lab_menu` (
	`menu_id` int(10) unsigned NOT NULL auto_increment,
	`user_id` int(10) unsigned NOT NULL,
	`page_id` int(10) unsigned NOT NULL,
	`menu_lang` varchar(5) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`menu_title` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`menu_position` smallint(2) unsigned NOT NULL, 
	PRIMARY KEY (`menu_id`), 
	UNIQUE `user_id` (`user_id`, `page_id`, `menu_lang`), 
	KEY `idx_user_id` (`user_id`), 
	KEY `idx_page_id` (`page_id`), 
	KEY `idx_lang` (`menu_lang`)
) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
DROP TABLE IF EXISTS `lab_page`;
CREATE TABLE IF NOT EXISTS `lab_page` (
	`page_id` int(10) unsigned NOT NULL auto_increment,
	`version_id` int(10) unsigned DEFAULT '1' NOT NULL,
	`tag` varchar(255) COLLATE utf8mb4_bin NOT NULL,
	`menu_tag` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`created` datetime,
	`modified` datetime,
	`body` mediumtext COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`body_r` mediumtext COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`body_toc` text COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`formatting` varchar(20) COLLATE utf8mb4_unicode_520_ci DEFAULT 'wacko' NOT NULL,
	`owner_id` int(10) unsigned NOT NULL,
	`edit_note` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`minor_edit` tinyint(1) unsigned DEFAULT '0' NOT NULL,
	`page_size` int(10) unsigned DEFAULT '0' NOT NULL,
	`license_id` int(10) unsigned DEFAULT '0' NOT NULL,
	`ip` varchar(45) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`user_id` int(10) unsigned NOT NULL,
	`latest` tinyint(1) DEFAULT '1' NOT NULL,
	`handler` varchar(30) COLLATE utf8mb4_unicode_520_ci DEFAULT 'page' NOT NULL,
	`comment_on_id` int(10) unsigned NOT NULL,
	`comments` int(4) unsigned DEFAULT '0' NOT NULL,
	`files` int(4) unsigned DEFAULT '0' NOT NULL,
	`revisions` int(10) unsigned DEFAULT '0' NOT NULL,
	`hits` int(11) unsigned DEFAULT '0' NOT NULL,
	`theme` varchar(20) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`page_lang` varchar(5) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`title` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`depth` int(10) unsigned DEFAULT '0' NOT NULL,
	`parent_id` int(10) unsigned DEFAULT '0' NOT NULL,
	`commented` datetime,
	`description` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`keywords` varchar(255) COLLATE utf8mb4_bin NOT NULL,
	`footer_comments` tinyint(1) unsigned DEFAULT '1',
	`footer_files` tinyint(1) unsigned DEFAULT '1',
	`hide_toc` tinyint(1) unsigned,
	`hide_index` tinyint(1) unsigned,
	`reviewed` tinyint(1) unsigned DEFAULT '0',
	`reviewed_time` datetime,
	`reviewer_id` int(10) unsigned DEFAULT '0' NOT NULL,
	`tree_level` tinyint(1) unsigned DEFAULT '0',
	`show_menu_tag` tinyint(1) unsigned DEFAULT '0' NOT NULL,
	`allow_rawhtml` tinyint(1) unsigned,
	`disable_safehtml` tinyint(1) unsigned,
	`noindex` tinyint(1) unsigned DEFAULT '0' NOT NULL,
	`deleted` tinyint(1) unsigned DEFAULT '0' NOT NULL, 
	PRIMARY KEY (`page_id`), 
	UNIQUE `idx_tag` (`tag`), 
	KEY `idx_created` (`created`), 
	KEY `idx_title` (`title`), 
	KEY `idx_minor_edit` (`minor_edit`), 
	KEY `idx_modified` (`modified`), 
	KEY `idx_commented` (`commented`), 
	KEY `idx_user_id` (`user_id`), 
	KEY `idx_owner_id` (`owner_id`), 
	KEY `idx_comment_on_id` (`comment_on_id`), 
	KEY `depth` (`depth`), 
	KEY `idx_deleted` (`deleted`), 
	FULLTEXT KEY `body` (`body`)
) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
DROP TABLE IF EXISTS `lab_page_link`;
CREATE TABLE IF NOT EXISTS `lab_page_link` (
	`id` int(10) unsigned NOT NULL auto_increment,
	`from_page_id` int(10) unsigned NOT NULL,
	`to_tag` varchar(255) COLLATE utf8mb4_bin NOT NULL,
	`to_page_id` int(10) unsigned NOT NULL, 
	PRIMARY KEY (`id`), 
	KEY `idx_to` (`to_tag`), 
	KEY `idx_from_page_id` (`from_page_id`), 
	KEY `idx_from_tag` (`from_page_id`, `to_tag`(78))
) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
DROP TABLE IF EXISTS `lab_referrer`;
CREATE TABLE IF NOT EXISTS `lab_referrer` (
	`referrer_id` int(10) unsigned NOT NULL auto_increment,
	`page_id` int(10) NOT NULL,
	`referrer` varchar(2083) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`referrer_time` datetime, 
	PRIMARY KEY (`referrer_id`), 
	KEY `idx_time` (`referrer_time`), 
	KEY `idx_page_id` (`page_id`)
) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
DROP TABLE IF EXISTS `lab_revision`;
CREATE TABLE IF NOT EXISTS `lab_revision` (
	`revision_id` int(10) unsigned NOT NULL auto_increment,
	`page_id` int(10) unsigned NOT NULL,
	`version_id` int(10) unsigned DEFAULT '0' NOT NULL,
	`tag` varchar(255) COLLATE utf8mb4_bin NOT NULL,
	`menu_tag` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`created` datetime,
	`modified` datetime,
	`body` mediumtext COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`body_r` mediumtext COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`formatting` varchar(20) COLLATE utf8mb4_unicode_520_ci DEFAULT 'wacko' NOT NULL,
	`owner_id` int(10) unsigned NOT NULL,
	`user_id` int(10) unsigned NOT NULL,
	`edit_note` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`minor_edit` tinyint(1) unsigned DEFAULT '0' NOT NULL,
	`page_size` int(10) unsigned DEFAULT '0' NOT NULL,
	`reviewed` tinyint(1) unsigned DEFAULT '0' NOT NULL,
	`reviewed_time` datetime,
	`reviewer_id` int(10) unsigned DEFAULT '0' NOT NULL,
	`ip` varchar(45) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`latest` tinyint(1) DEFAULT '0' NOT NULL,
	`handler` varchar(30) COLLATE utf8mb4_unicode_520_ci DEFAULT 'page' NOT NULL,
	`comment_on_id` int(10) unsigned DEFAULT '0' NOT NULL,
	`page_lang` varchar(5) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`title` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`description` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`keywords` varchar(255) COLLATE utf8mb4_bin NOT NULL,
	`deleted` tinyint(1) unsigned DEFAULT '0' NOT NULL, 
	PRIMARY KEY (`revision_id`), 
	KEY `idx_tag` (`tag`), 
	KEY `idx_latest` (`latest`), 
	KEY `idx_minor_edit` (`minor_edit`), 
	KEY `idx_modified` (`modified`), 
	KEY `idx_approved` (`reviewed`), 
	KEY `idx_deleted` (`deleted`)
) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
DROP TABLE IF EXISTS `lab_user`;
CREATE TABLE IF NOT EXISTS `lab_user` (
	`user_id` int(10) unsigned NOT NULL auto_increment,
	`user_name` varchar(80) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`real_name` varchar(80) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`password` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`email` varchar(254) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`account_status` tinyint(1) unsigned DEFAULT '0' NOT NULL,
	`account_type` tinyint(1) unsigned DEFAULT '0' NOT NULL,
	`enabled` tinyint(1) unsigned DEFAULT '1' NOT NULL,
	`signup_time` datetime,
	`change_password` varchar(100) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`user_ip` varchar(45) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`email_confirm` varchar(64) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`last_visit` datetime,
	`last_mark` datetime,
	`login_count` int(10) unsigned DEFAULT '0' NOT NULL,
	`password_request_count` smallint(6) unsigned DEFAULT '0' NOT NULL,
	`failed_login_count` smallint(6) unsigned DEFAULT '0' NOT NULL,
	`total_pages` int(10) unsigned DEFAULT '0' NOT NULL,
	`total_revisions` int(10) unsigned DEFAULT '0' NOT NULL,
	`total_comments` int(10) unsigned DEFAULT '0' NOT NULL,
	`total_uploads` int(10) unsigned DEFAULT '0' NOT NULL, 
	PRIMARY KEY (`user_id`), 
	UNIQUE `idx_user_name` (`user_name`), 
	KEY `idx_signuptime` (`signup_time`), 
	KEY `idx_enabled` (`enabled`), 
	KEY `account_type` (`account_type`)
) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
DROP TABLE IF EXISTS `lab_user_setting`;
CREATE TABLE IF NOT EXISTS `lab_user_setting` (
	`setting_id` int(10) unsigned NOT NULL auto_increment,
	`user_id` int(10) unsigned NOT NULL,
	`theme` varchar(20) COLLATE utf8mb4_unicode_520_ci,
	`user_lang` varchar(5) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`list_count` int(10) unsigned DEFAULT '50',
	`menu_items` int(2) unsigned DEFAULT '5' NOT NULL,
	`dont_redirect` tinyint(1) unsigned,
	`send_watchmail` tinyint(1) unsigned DEFAULT '1',
	`show_files` tinyint(1) unsigned,
	`show_comments` tinyint(1) unsigned DEFAULT '1',
	`doubleclick_edit` tinyint(1) unsigned DEFAULT '1',
	`show_spaces` tinyint(1) unsigned DEFAULT '1',
	`allow_intercom` tinyint(1) unsigned,
	`allow_massemail` tinyint(1) unsigned DEFAULT '0',
	`autocomplete` tinyint(1) unsigned,
	`numerate_links` tinyint(1) unsigned DEFAULT '1' NOT NULL,
	`diff_mode` tinyint(1) unsigned DEFAULT '2' NOT NULL,
	`notify_minor_edit` tinyint(1) unsigned DEFAULT '1' NOT NULL,
	`notify_page` tinyint(1) unsigned DEFAULT '1' NOT NULL,
	`notify_comment` tinyint(1) unsigned DEFAULT '1' NOT NULL,
	`hide_lastsession` tinyint(1) unsigned,
	`validate_ip` tinyint(1) unsigned,
	`noid_pubs` tinyint(1) unsigned,
	`session_length` tinyint(3) unsigned,
	`timezone` varchar(100) COLLATE utf8mb4_unicode_520_ci DEFAULT 'UTC' NOT NULL,
	`sorting_comments` tinyint(1) unsigned DEFAULT '0' NOT NULL, 
	PRIMARY KEY (`setting_id`), 
	UNIQUE `idx_user_id` (`user_id`), 
	KEY `idx_send_watchmail` (`send_watchmail`)
) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
DROP TABLE IF EXISTS `lab_usergroup`;
CREATE TABLE IF NOT EXISTS `lab_usergroup` (
	`group_id` int(10) unsigned NOT NULL auto_increment,
	`group_name` varchar(100) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`description` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`moderator_id` varchar(25) COLLATE utf8mb4_unicode_520_ci NOT NULL,
	`created` datetime,
	`is_system` tinyint(1) unsigned NOT NULL,
	`open` tinyint(1) unsigned NOT NULL,
	`active` tinyint(1) unsigned NOT NULL, 
	PRIMARY KEY (`group_id`), 
	UNIQUE `idx_group_name` (`group_name`)
) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
DROP TABLE IF EXISTS `lab_usergroup_member`;
CREATE TABLE IF NOT EXISTS `lab_usergroup_member` (
	`group_id` int(10) unsigned NOT NULL,
	`user_id` int(10) unsigned NOT NULL, 
	UNIQUE `idx_group_id` (`group_id`, `user_id`)
) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
DROP TABLE IF EXISTS `lab_watch`;
CREATE TABLE IF NOT EXISTS `lab_watch` (
	`watch_id` int(10) unsigned NOT NULL auto_increment,
	`user_id` int(10) unsigned NOT NULL,
	`page_id` int(10) unsigned NOT NULL,
	`comment_id` int(10) unsigned DEFAULT '0' NOT NULL,
	`pending` tinyint(1) unsigned DEFAULT '0' NOT NULL,
	`time` timestamp DEFAULT CURRENT_TIMESTAMP NOT NULL on update CURRENT_TIMESTAMP, 
	PRIMARY KEY (`watch_id`), 
	KEY `idx_user_id` (`user_id`), 
	KEY `idx_page_id` (`page_id`)
) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;


00:52:32 - Completed. Processed instructions: 40


00:52:32 - Restore the contents of tables
================================================
Just download and process tables dump
(Instruction INSERT):

	00:52:32 - lab_acl
==========================
		records:   630

	00:52:34 - lab_auth_token
==========================
		records:   1

	00:52:34 - lab_cache
==========================
		records:   9

	00:52:34 - lab_config
==========================
		records:   216

	00:52:35 - lab_category
==========================
		records:   26

	00:52:35 - lab_category_assignment
==========================
		records:   107

	00:52:36 - lab_external_link
==========================
		records:   15

	00:52:36 - lab_file
==========================
		records:   30

	00:52:36 - lab_file_link
==========================
		records:   23

	00:52:36 - lab_log
==========================
		records:   274

	00:52:37 - lab_menu
==========================
		records:   105

	00:52:38 - lab_page
==========================
		records:   169

	00:52:39 - lab_page_link
==========================
		records:   86

	00:52:39 - lab_referrer
==========================
		records:   10

	00:52:39 - lab_revision
==========================
		records:   153

	00:52:40 - lab_user
==========================
		records:   25

	00:52:40 - lab_user_setting
==========================
		records:   23

	00:52:40 - lab_usergroup
==========================
		records:   4

	00:52:40 - lab_usergroup_member
==========================
		records:   6

	00:52:40 - lab_watch
==========================
		records:   148

00:52:41 - Completed. Total entries: 2060


00:52:41 - Restoring files
================================================
Decompress and store the contents of directories
(homonymic files: skip):

	00:52:41 - file/global
==========================
		File: 10
		restored: 0
		skipped: 10

	00:52:41 - file/perpage
==========================
		File: 21
		restored: 0
		skipped: 21

00:52:41 - Completed. Total files:
	all: 31
	restored: 0
	skipped: 31


================================================
00:52:41 - RESTORATION COMPLETED	

If you've used the recovery mode, reset the value for RECOVERY_MODE again to 0 in your constants.php.

const RECOVERY_MODE			= 0;	

2.3. Re-Synchronize data

After a successful restoration you can perform a re-rendering for all intrasite links to rebuild the records of the page_link and file_link table.

  • Admin Panel -> Synchronizing data -> Wiki-links
tune the re-rendering settings to avoid timeouts or reaching the memory limit

You can tune the re-rendering settings to avoid timeouts or reaching the memory limit. This is mostly interesting for shared hosting or servers you do not manage. The server terminates then the script without further notice.


If the re-rendering fails just reduce the number of pages it renders per turn, the redirect LIMIT is set to 10. If you reach the redirect limit the script will provide you with a link Next », which you have to click to render the next batches of pages. Furthermore avoid possible session timeouts while the script is running.