1、新建数据库 create database zabbix default charset utf8;
2、use zabbix;
3、设置表的默认字段模式,具体根据IBD文件中的格式来设置,set global innodb_file_format=Barracuda;
4、设置不进行外键检查 set foreign_key_checks=0;
5、创建新的表,总的有127个表。创建表的时候format要设置成动态dynamic。CREATE TABLE `users` (
`userid` bigint unsigned NOT NULL,
`alias` varchar(100) DEFAULT '' NOT NULL,
`name` varchar(100) DEFAULT '' NOT NULL,
`surname` varchar(100) DEFAULT '' NOT NULL,
`passwd` char(32) DEFAULT '' NOT NULL,
`url` varchar(255) DEFAULT '' NOT NULL,
`autologin` integer DEFAULT '0' NOT NULL,
`autologout` integer DEFAULT '900' NOT NULL,
`lang` varchar(5) DEFAULT 'en_GB' NOT NULL,
`refresh` integer DEFAULT '30' NOT NULL,
`type` integer DEFAULT '1' NOT NULL,
`theme` varchar(128) DEFAULT 'default' NOT NULL,
`attempt_failed` integer DEFAULT 0 NOT NULL,
`attempt_ip` varchar(39) DEFAULT '' NOT NULL,
`attempt_clock` integer DEFAULT 0 NOT NULL,
`rows_per_page` integer DEFAULT 50 NOT NULL,
PRIMARY KEY (userid)
) ENGINE=InnoDB ROW_FORMAT=DYNAMIC CHARACTER SET utf8;
6、其他表类似
7、删除创建表后生成的ibd文件,alter table `users` discard tablespace; (其他表类似)
8、把要恢复的旧的ibd文件复制到当前zabbix的数据库目录中,cp /xx/users.ibd /zabbix/users.ibd; (其他表类似)
9、修改所有者,chown mysql:mysql /zabbix/users.ibd; (其他表类似)
10、恢复ibd数据到表中,alter table `users` import tablespace; (其他表类似)
11、zabbix更改数据库的名字后要修改两个地方,zabbxi_server.conf 和 zabbix.conf.php
PS:创建新数据库和表时,数据库引擎INNODB,库和表的编码格式CHARASET,FORMAT格式都要和原来的一致。