我在我们的 PROD 环境中偶然发现了一个非常讨厌的错误
我正在运行一些更改脚本,它似乎最终为每个更改的列复制了表。
我用 MySQL Workbench、HeidSQL 和 DBBeaver 进行了测试,它们都显示相同的重复结果。
请记住下面的示例它只是一个表,但我在同一个数据库中有 4 个不同的表有这个问题
现在出现重复的任何表也在数据库备份脚本中重复。如果我单击并放下一个,所有条目都消失了。当我运行创建脚本时,表中的每一列都会相乘。
根据这个 CREATE 脚本下面的问题,这个脚本在转储脚本中是相同的。如果我放下桌子,所有条目都消失了。运行此脚本时,它们都回来了
DROP TABLE IF EXISTS `employee`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `employee` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`employeeNumber` varchar(45) DEFAULT NULL,
`firstName` varchar(150) NOT NULL,
`lastName` varchar(150) DEFAULT NULL,
`email` varchar(150) NOT NULL,
`phoneNumber` varchar(20) DEFAULT NULL,
`address` varchar(250) DEFAULT NULL,
`userId` int(11) NOT NULL,
`merchantId` int(11) NOT NULL,
`departmentId` int(11) NOT NULL,
`startDate` date NOT NULL,
`endDate` date DEFAULT NULL,
`contract` tinyint(4) DEFAULT '0',
`countryId` int(11) NOT NULL,
`createdDate` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`modifiedDate` datetime DEFAULT NULL,
`isActive` tinyint(4) NOT NULL DEFAULT '0',
`contractIssueDate` datetime DEFAULT NULL,
`visaType` varchar(45) DEFAULT NULL,
`visaStartDate` datetime DEFAULT NULL,
`visaEndDate` datetime DEFAULT NULL,
`knownAs` varchar(45) DEFAULT NULL,
`dateOfBirth` datetime DEFAULT NULL,
`ppsNumber` varchar(15) DEFAULT NULL,
`passOrIdNumber` varchar(45) DEFAULT NULL,
`nokName` varchar(100) DEFAULT NULL,
`nokAddress` varchar(200) DEFAULT NULL,
`nokRelationship` varchar(100) DEFAULT NULL,
`nokPhoneNumber` varchar(20) DEFAULT NULL,
`lastModifiedUserId` int(11) DEFAULT NULL,
`version` int(11) DEFAULT NULL,
`honorificTitleId` int(11) NOT NULL DEFAULT '0',
`genderId` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `fk_country_idx` (`countryId`),
KEY `fk_department_idx` (`departmentId`),
KEY `fk_gender_idx` (`genderId`),
KEY `fk_honorificTitle_idx` (`honorificTitleId`),
KEY `fk_merchant_idx` (`merchantId`),
CONSTRAINT `fk_country` FOREIGN KEY (`countryId`) REFERENCES `country` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `fk_dep` FOREIGN KEY (`departmentId`) REFERENCES `department` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `fk_gender` FOREIGN KEY (`genderId`) REFERENCES `gender` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `fk_honorificTitle` FOREIGN KEY (`honorificTitleId`) REFERENCES `honorificTitle` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `fk_merchant2` FOREIGN KEY (`merchantId`) REFERENCES `merchant` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/*!40101 SET character_set_client = @saved_cs_client */;
任何有关如何预防或解决它的帮助将不胜感激。
谢谢
通过 Azure 帮助台解决了问题
问题是该参数
dir_cache_fine_grained_enabled
在 Azure 更新期间打开。这需要关闭并重新启动数据库服务器。重启后一切恢复正常该参数不向公众提供。