Можно подумать, что базы данных это какая-то рукопись и эксперт сразу выявляет на ней подчистки и даже устанавливает дату :)))
Сами они и вносили изменения, поэтому точно знают когда.....)))
Гомики кончились, опять за допинг принялись...
Я не про это. База данных — это куча файлов которые по технологии все время изменяются. Так что изменения вполне закономерный процесс.
А вот фраза «переданную экспертам Всемирного антидопингового агентства (WADA), были внесены «тысячи изменений» » вообще странно звучит. По тому, как это сформулировано, выходит, что в ту базы, которую передали кто-то потом (после передачи!!!) внес некие изменения.
Скорее всего имеется в виду, что была изменена не сама по себе база, а некоторые данные не подлежашие изменению.
Передавался бэкап, а по одиночному бэкапу просто так отследить изменения не возможно. Возможно сравнивали с предыдущими данными или были некоторые контрольные суммы, может быть логи. Но в этом случае технические специалисты по базам данных должны были об этом знать. Если вносили изменения, то все это или не передавать или тоже подправить. Если не было возможности это утаить или править — значит и изменения не имело смысл вносить — это сразу вскроется
Так что это история — или все не так, как преподносится, а возможно целеноправленое вредительство
И что же я не так сказал? Если ты такой «спец» — опровергни!
Или можешь такую штуку пояснить — create table abcd as select * from dcba where 1=0 ?
Я не спец по базам, скорее технически грамотный человек.
Для меня очевидно, что база состоит из нескольких файлов, нескольких версий не составляет ничего сложного в том, чтобы при попытке синхронизировать разные версии баз данных все изменения вылезли
Понятно. Еще один диванный эксперт, который про базы данных где-то что-то слышал. Хотя бы прочитал, что я написал — «Возможно сравнивали с предыдущими данными...»
Не позорься.
Или можешь такую штуку пояснить — create table abcd as select * from dcba where 1=0?
Что тут нужно пояснить helpdesk'у?
У тебя получится таблица abcd, одинаковая по структуре с dcba, но пустая.
Передавался бэкап, а по одиночному бэкапу просто так отследить изменения не возможно.
*ржать.
Если мы говорим об обычном бекапе, а не об инкрементном, то любые изменения определяются очень просто: достаточно сделать «эталонную вгрузку» бекапа, сделать выборку pk и конкатенации всех столбцов и сделать сверку с аналогичными pk в проверяемой таблице. Делается одним запросом.
Если имела место репликация, то все вычленяется из бинарных логов, если они имеются в наличии.
У тебя получится таблица abcd, одинаковая по структуре с dcba, но пустая.
Да. Так и задумано.
Если мы говорим об обычном бекапе, а не об инкрементном, то любые изменения определяются очень просто: достаточно сделать «эталонную вгрузку» бекапа, сделать выборку pk и конкатенации всех столбцов и сделать сверку с аналогичными pk в проверяемой таблице. Делается одним запросом.
Смотря какая СУБД и какой бэкап. Хочешь передам тебе бэкап, а ты попробуй такие выборки сделать?
Да. Так и задумано.
Криво задумано. Пользуй лучше
CREATE TABLE abcd LIKE dcba;
Смотря какая СУБД и какой бэкап. Хочешь передам тебе бэкап, а ты попробуй такие выборки сделать?
Написано же
Если мы говорим об обычном бекапе, а не об инкрементном
Под обычным понимается полный, а не инкрементный или смешанный.
Если полный бекап, то давай, только непонятно. что мы в нем искать будем.
Естественно полный. Я сейчас базу быстренько напишу из одной таблицы и одной записи, потом ее поменяю, а потом сделаю бэкап. Сможешь сделать то, что говорил?
Я сейчас базу быстренько напишу из одной таблицы и одной записи, потом ее поменяю, а потом сделаю бэкап.
Задача не так звучит. В материале: передается база данных (полный бекап), потом в оригинал вносится изменение и с учетом наличия доступа в измененную базу (мы для этого используем еще один бекап) производится сравнение данных в обоих «слепках».
То, что ты сейчас предлагаешь — это просто п. 1 (передача полного бекапа).
Имено так! Не надо грязи!
Читай внимательно, что у меня в посте написано — «Возможно сравнивали с предыдущими данными...» А ты как раз это и предлагаешь
Никакой грязи.
Два бекапа: один до изменения (базовая передача), второй после изменения (аналог текущего доступа) и сравню без проблем.
Причем, если не будет служебных данных, то с большой вероятностью могу сравнить без вгрузки обычным сравнением хешей одного бекапа и второго.
Я твой вариант и не отрицал: я его просто уточнил, что все зависит от вида бекапа и как можно это сделать в случае полного бекапа.
Ты мне предложил, чтобы я попробовал описанный мной метод на твоих бекапах. Одну половину, которую я описал в виде «исходного» бекапа ты скинул. Жду доступа к измненной базе (или второго бекапа) чтобы показать какие изменения внесены.
Вот и говорю — от одниочно бэкапа это получить не возможно. А про возможность сравнения с другим бэкапом мною сказано изначальна.
Так что на сегодня кормежка троля закончена! Разговор окончен
Команда получения бэкапа -
mysqldump --user=root --databases _161019 > _161019.sql
Вот результат
— MySQL dump 10.11
--
— Host: localhost Database: _161019
— ------------------------------------------------------
— Server version 5.1.30-community
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
— Current Database: `_161019`
--
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `_161019` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `_161019`;
--
— Table structure for table `tab1`
--
DROP TABLE IF EXISTS `tab1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `tab1` (
`id` int(11) NOT NULL,
`aaaa` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
SET character_set_client = @saved_cs_client;
--
— Dumping data for table `tab1`
--
LOCK TABLES `tab1` WRITE;
/*!40000 ALTER TABLE `tab1` DISABLE KEYS */;
INSERT INTO `tab1` VALUES (1,'aaaaa');
/*!40000 ALTER TABLE `tab1` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
— Dump completed on 2019-10-16 9:30:26
Так что вперед!
Ага. Вот ты сейчас «сбросил» данные.
Теперь поменяй там что-нибудь и давай доступ к базе и будем искать, что ты поменял.
Нет разговор об одиночном! Ты опровергаешь мои следующие — «Передавался бэкап, а по одиночному бэкапу просто так отследить изменения не возможно»
Ну так и изволь по одиночному полному бэкапу определить те изменения, которые я сделал перед выгрузкой!
Ты опровергаешь мои следующие — «Передавался бэкап, а по одиночному бэкапу просто так отследить изменения не возможно»
Владеешь русским языком? Я же написал
Если мы говорим об обычном бекапе, а не об инкрементном, то любые изменения определяются очень просто: достаточно сделать «эталонную вгрузку» бекапа, сделать выборку pk и конкатенации всех столбцов и сделать сверку с аналогичными pk в проверяемой таблице.
РУСАДА отдала бекап в ВАДА, ВАДА его вгрузила, изменила данные, РУСАДА проверила данные в базе данных и нашла отличия со своими переданными данными.
Переданные данные ты показал. Измени их, как ВАДА сделала и дай доступ к БД для проверки корректности вгрузки
Разговор с тобой окончен, но для остальных я процетирую кусок своего вчерашнего поста
По тому, как это сформулировано, выходит, что в ту базы, которую передали кто-то потом (после передачи!!!) внес некие изменения.
Разговор с тобой окончен, но для остальных я процетирую кусок своего вчерашнего поста
И выявить это можно, только имея доступ к переданным данным и текущим данным.
Можешь быть свободен, я тебя не задерживаю
Криво задумано
Чем же криво? Задача была не копию структуры сделать, а чела на вшивость проверить :))) Ты прикол понял, а до него хрен дойдет :)))