Mysql数据库导入问题

目的:

将zabbix的数据库从自建Mysql 导入到 Oceanbase

操作过程:

1. 将zabbix数据库通过mysqldump导出为 sql文件 ,并反导入,测试导出文件无问题。

2. 搭建Oceanbase obproxy & 3个单节点集群 ,单台配置为 8c32g ,创建zabbix用户,zabbix资源池,zabbix租户,并测试登陆无问题

3. 通过proxy登陆 创建zabbix库,并导入sql文件,此步骤有问题

报错①:

ERROR 1452 (23000) at line 4625 in file: ‘/root/zabbix/zabbix.sql’: Cannot add or update a child row: a foreign key constraint fails

查看sql文件: 原语句为: INSERT INTO `triggers` VALUES (13015,’{12641}>75’,‘More than 75% used in the configuration cache’,’’,0,0,3,0,'Consider 。。。。。。很长

报错②:ERROR 1146 (42S02) at line 4693 in file: ‘/root/zabbix/zabbix.sql’: Table ‘**各种表名**’ doesn’t exist

查看sql文件: 原语句为:INSERT INTO `users_groups` VALUES (4,7,1),(2,8,2);

可提供报错截图,和原导出sql文件。望帮忙找下问题原因,感谢感谢 !!!!!!!

开始操作图:

问题1图:

问题2图:



补充一下:问题1中错误提示是 执行的语句如下,是条创建表的的语句,执行后提示:ERROR 1146 (42S02): Table doesn't exist

CREATE TABLE `widget` (
  `widgetid` bigint(20) unsigned NOT NULL,
  `dashboardid` bigint(20) unsigned NOT NULL,
  `type` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
  `name` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
  `x` int(11) NOT NULL DEFAULT '0',
  `y` int(11) NOT NULL DEFAULT '0',
  `width` int(11) NOT NULL DEFAULT '1',
  `height` int(11) NOT NULL DEFAULT '2',
  `view_mode` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`widgetid`),
  KEY `widget_1` (`dashboardid`),
  CONSTRAINT `c_widget_1` FOREIGN KEY (`dashboardid`) REFERENCES `dashboard` (`dashboardid`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

dashboard这表存在吗?

目前社区版的OceanBase有一些MySQL能通过的SQL是不能直接执行的,可能需要自己手动拆开。

像`InnoDB`这种MySQL的ENGINE语法,OceanBase也不支持的,因为根本没有InnoDB这种东西。

问题一 找到了,原因是报错的sql执行时候关联的有外键表,但是外键的表创建的sql语句,却是在这条语句的下面,所以导致报错,该表不存在。但是这个sql文件在mysql导入没有问题,在Oceanbase却报错了。难道mysql执行sql文件的语句不是自上到下执行的么,求大佬解惑~,目前我通过多次执行这个sql文件,逐次创建解决了这个问题

麻烦问下,我创建表的时候总是提示分区太多了的错误,1499 - Too many partitions (including subpartitions) were defined   ,,这是为什么

你好,最好你成功了吗,zabbix server能正常连接你导入Oceanbase的zabbix库吗