{"id":34467,"date":"2019-10-31T21:58:31","date_gmt":"2019-10-31T18:58:31","guid":{"rendered":"https:\/\/prohoster.info\/blog\/vosstanovlenie-dannyh-s-xtradb-tablits-bez-fajla-struktury-ispolzuya-pobajtovyj-analiz-ibd-fajla\/"},"modified":"2019-10-31T21:58:31","modified_gmt":"2019-10-31T18:58:31","slug":"vosstanovlenie-dannyh-s-xtradb-tablits-bez-fajla-struktury-ispolzuya-pobajtovyj-analiz-ibd-fajla","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/vosstanovlenie-dannyh-s-xtradb-tablits-bez-fajla-struktury-ispolzuya-pobajtovyj-analiz-ibd-fajla","title":{"rendered":"Datenwiederherstellung von XtraDB-Tabellen ohne Strukturdatei, unter Verwendung einer Byte-f\u00fcr-Byte-Analyse der ibd-Datei.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"\u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 XtraDB \u0442\u0430\u0431\u043b\u0438\u0446 \u0431\u0435\u0437 \u0444\u0430\u0439\u043b\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 ibd \u0444\u0430\u0439\u043b\u0430\" src=\"\/wp-content\/uploads\/2019\/05\/691d7990937f6589353158f2c7f19925.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h3 id=\"predystoriya\">\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f<\/h3>\n<p><\/p>\n<p>\u0422\u0430\u043a \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e, \u0447\u0442\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0431\u044b\u043b \u0430\u0442\u0430\u043a\u043e\u0432\u0430\u043d \u0432\u0438\u0440\u0443\u0441\u043e\u043c \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043b\u044c\u0449\u0438\u043a\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e &quot;\u0441\u0447\u0430\u0441\u0442\u043b\u0438\u0432\u043e\u0439 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u0438&quot;, \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u043e\u0442\u0441\u0442\u0430\u0432\u0438\u043b \u043d\u0435 \u0442\u0440\u043e\u043d\u0443\u0442\u044b\u043c\u0438 \u0444\u0430\u0439\u043b\u044b .ibd (\u0444\u0430\u0439\u043b\u044b \u0441\u044b\u0440\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 innodb \u0442\u0430\u0431\u043b\u0438\u0446), \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043b \u0444\u0430\u0439\u043b\u044b .fpm (\u0444\u0430\u0439\u043b\u044b \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440). \u041f\u0440\u0438 \u044d\u0442\u043e\u043c .idb \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430: <\/p>\n<p><\/p>\n<ul>\n<li>\u043f\u043e\u0434\u043b\u0435\u0436\u0430\u0449\u0438\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044e \u0447\u0435\u0440\u0435\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0438 \u0433\u0430\u0439\u0434\u044b. \u0414\u043b\u044f \u0442\u0430\u043a\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u0435\u0432, \u0435\u0441\u0442\u044c \u043e\u0442\u043b\u0438\u0447\u043d\u0430\u044f <noindex><a rel=\"nofollow\" href=\"https:\/\/www.voxteneo.com\/restoring-tables-mysql-database-frm-ibd-files-available\/\">\u0441\u0442\u0430\u0442\u044c\u0441\u044f<\/a><\/noindex>;<\/li>\n<li>\u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b. \u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u044d\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 (\u043a\u0430\u043a \u044f \u043f\u043e\u043d\u044f\u043b), \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u0430\u043c\u0438 \u043d\u0435 \u0445\u0432\u0430\u0442\u0438\u043b\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u043d\u0430 \u043f\u043e\u043b\u043d\u043e\u0435 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435;<\/li>\n<li>\u043d\u0443 \u0438 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u043d\u0435 \u043f\u043e\u0434\u043b\u0435\u0436\u0430\u0449\u0438\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044e. <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<p>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043a \u043a\u0430\u043a\u043e\u043c\u0443 \u0438\u0437 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0431\u0430\u043d\u0430\u043b\u044c\u043d\u044b\u043c \u043e\u0442\u043a\u0440\u044b\u0432 \u0432 \u043b\u044e\u0431\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435 \u043f\u043e\u0434 \u043d\u0443\u0436\u043d\u043e\u0439 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u043e\u0439 (\u0432 \u043c\u043e\u0451\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e UTF8) \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0444\u0430\u0439\u043b \u043d\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0445 \u043f\u043e\u043b\u0435\u0439, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 XtraDB \u0442\u0430\u0431\u043b\u0438\u0446 \u0431\u0435\u0437 \u0444\u0430\u0439\u043b\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 ibd \u0444\u0430\u0439\u043b\u0430\" src=\"\/wp-content\/uploads\/2019\/05\/fbce1f1878f2968d196f325ef274fa8e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u0422\u0430\u043a\u0436\u0435, \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0444\u0430\u0439\u043b\u0430 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e 0-\u0432\u044b\u0445 \u0431\u0430\u0439\u0442, \u0430 \u0432\u0438\u0440\u0443\u0441\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0431\u043b\u043e\u0447\u043d\u043e\u0433\u043e \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f (\u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043e), \u043e\u0431\u044b\u0447\u043d\u043e \u0438 \u0438\u0445 \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u044e\u0442.<br \/>\n<img decoding=\"async\" alt=\"\u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 XtraDB \u0442\u0430\u0431\u043b\u0438\u0446 \u0431\u0435\u0437 \u0444\u0430\u0439\u043b\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 ibd \u0444\u0430\u0439\u043b\u0430\" src=\"\/wp-content\/uploads\/2019\/05\/668ff08ea5ba53723bcc810b992a3d29.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u0412 \u043c\u043e\u0451\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u0438 \u0441\u0442\u0440\u043e\u043a\u0443 \u0438\u0437 4 \u0431\u0430\u0439\u0442 (1, 0, 0, 0), \u0447\u0442\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u043b\u043e \u0437\u0430\u0434\u0430\u0447\u0443. \u0414\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u043d\u0435 \u0437\u0430\u0440\u0430\u0436\u0451\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0445\u0432\u0430\u0442\u0438\u043b\u043e \u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u0430:<\/p>\n<p><\/p>\n<pre><code class=\"python\">def opened(path):\n    files = os.listdir(path)\n    for f in files:\n        if os.path.isfile(path + f):\n            yield path + f\n\nfor full_path in opened(&quot;C:somepath&quot;):\n    file = open(full_path, &quot;rb&quot;)\n    last_string = &quot;&quot;\n    for line in file:\n        last_string = line\n        file.close()\n    if (last_string[len(last_string) -4:len(last_string)]) != (1, 0, 0, 0):\n        print(full_path)<\/code><\/pre>\n<p><\/p>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 \u0444\u0430\u0439\u043b\u044b \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0449\u0438\u0435 \u043a \u043f\u0435\u0440\u0432\u043e\u043c\u0443 \u0442\u0438\u043f. \u0412\u0442\u043e\u0440\u043e\u0439 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 \u0434\u043e\u043b\u0433\u0443\u044e \u043c\u0430\u043d\u0443\u0430\u043b\u044c\u0449\u0438\u043d\u0443, \u043d\u043e \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u043e\u0433\u043e \u0443\u0436\u0435 \u0431\u044b\u043b\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e. \u0412\u0441\u0451 \u0431\u044b \u0445\u043e\u0440\u043e\u0448\u043e, \u043d\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u043d\u0430\u0442\u044c <strong>\u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u0442\u043e\u0447\u043d\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443<\/strong> \u0438 (\u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f) \u0432\u044b\u0448\u0435\u043b \u0442\u0430\u043a\u043e\u0439 \u0441\u043b\u0443\u0447\u0430\u0439, \u0447\u0442\u043e \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0447\u0430\u0441\u0442\u043e \u043c\u0435\u043d\u044f\u044e\u0449\u0435\u0439\u0441\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0435\u0439. \u041d\u0438\u043a\u0442\u043e \u0438 \u043d\u0435 \u043f\u043e\u043c\u043d\u0438\u043b, \u0442\u043e \u043b\u0438 \u0442\u0438\u043f \u043f\u043e\u043b\u044f \u043c\u0435\u043d\u044f\u043b\u0441\u044f, \u0442\u043e \u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u043b\u0441\u044f \u043d\u043e\u0432\u044b\u0439 \u0441\u0442\u043e\u043b\u0431\u0435\u0446. <\/p>\n<p><\/p>\n<p>\u0414\u0435\u0431\u0440\u0438 \u0441\u0438\u0442\u0438 \u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e \u043d\u0435 \u0441\u043c\u043e\u0433\u043b\u0438 \u043f\u043e\u043c\u043e\u0447\u044c \u0441 \u0442\u0430\u043a\u0438\u043c \u0441\u043b\u0443\u0447\u0430\u0435\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438 \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u0434\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f. <\/p>\n<p><\/p>\n<h3 id=\"blizhe-k-delu\">\u0411\u043b\u0438\u0436\u0435 \u043a \u0434\u0435\u043b\u0443<\/h3>\n<p><\/p>\n<p>\u0415\u0441\u0442\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b 3-\u0445 \u043c\u0435\u0441\u044f\u0447\u043d\u043e\u0439 \u0434\u0430\u0432\u043d\u043e\u0441\u0442\u0438 \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0449\u0430\u044f \u0441 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 (\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u043f\u043e\u043b\u044e, \u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0435 \u0438 \u0431\u043e\u043b\u0435\u0435). \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b:<\/p>\n<p><\/p>\n<pre><code class=\"sql\">CREATE TABLE `table_1` (\n    `id` INT (11),\n    `date` DATETIME ,\n    `description` TEXT ,\n    `id_point` INT (11),\n    `id_user` INT (11),\n    `date_start` DATETIME ,\n    `date_finish` DATETIME ,\n    `photo` INT (1),\n    `id_client` INT (11),\n    `status` INT (1),\n    `lead__time` TIME ,\n    `sendstatus` TINYINT (4)\n); <\/code><\/pre>\n<p><\/p>\n<p>\u043f\u0440\u0438 \u044d\u0442\u043e\u043c, \u043d\u0443\u0436\u043d\u043e \u0438\u0437\u0432\u043b\u0435\u0447\u044c:<\/p>\n<p><\/p>\n<ul>\n<li><code>id_point<\/code> INT (11);<\/li>\n<li><code>id_user<\/code> INT (11);<\/li>\n<li><code>date_start<\/code> DATETIME ;<\/li>\n<li><code>date_finish<\/code> DATETIME .<\/li>\n<\/ul>\n<p><\/p>\n<p>\u0414\u043b\u044f \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 .ibd \u0444\u0430\u0439\u043b\u0430, \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u0438\u0445 \u0432 \u0431\u043e\u043b\u0435\u0435 \u0447\u0438\u0442\u0430\u0435\u043c\u044b\u0439 \u0432\u0438\u0434. \u0422\u0430\u043a \u043a\u0430\u043a \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u043e\u0433\u043e, \u043d\u0430\u043c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043a\u0430\u043a int \u0438 datatime, \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u0443\u0434\u0443\u0442 \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043d\u0438, \u043d\u043e \u0438\u043d\u043e\u0433\u0434\u0430 \u0431\u0443\u0434\u0443n \u0441\u0441\u044b\u043b\u0430\u0442\u044c\u0441\u044f \u0438 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043c\u043e\u0447\u044c \u0432 \u0438\u043d\u044b\u0445 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043f\u0440\u043e\u0438\u0441\u0448\u0435\u0441\u0442\u0432\u0438\u044f\u0445. <\/p>\n<p><\/p>\n<p><strong>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 1<\/strong>: \u0432 \u043f\u043e\u043b\u044f\u0445 \u0441 \u0442\u0438\u043f\u0430\u043c\u0438 DATETIME \u0438 TEXT \u0438\u043c\u0435\u043b\u0438\u0441\u044c NULL \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0438 \u0432 \u0444\u0430\u0439\u043b\u0435 \u043e\u043d\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u044e\u0442\u0441\u044f, \u0438\u0437-\u0437\u0430 \u044d\u0442\u043e\u0433\u043e, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0434\u043b\u044f \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u043c\u043e\u0451\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c. \u0412 \u043d\u043e\u0432\u044b\u0445 \u0441\u0442\u043e\u043b\u0431\u0446\u0430\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0431\u044b\u043b\u043e null, \u0430 \u0447\u0430\u0441\u0442\u044c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u043c\u043e\u0433\u043b\u0430 \u0431\u044b\u0442\u044c \u043f\u043e\u0442\u0435\u0440\u044f\u043d\u043d\u0430\u044f \u0438\u0437-\u0437\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 innodb_flush_log_at_trx_commit = 0, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0431\u044b \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f. <\/p>\n<p><\/p>\n<p><strong>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 2<\/strong>: \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0443\u0447\u0435\u0441\u0442\u044c, \u0447\u0442\u043e \u0441\u0442\u0440\u043e\u043a\u0438 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u044b\u0435 \u0447\u0435\u0440\u0435\u0437 DELETE, \u0432\u0441\u0435 \u0440\u043e\u0432\u043d\u043e \u0431\u0443\u0434\u0443\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 ibd \u0444\u0430\u0439\u043b\u0435, \u043d\u043e \u043f\u0440\u0438 ALTER TABLE \u0438\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043e\u0431\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u043d\u0435 \u0431\u0443\u0434\u0435\u0442. \u0412 \u0438\u0442\u043e\u0433\u0435, \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0436\u0435\u0442 \u0432\u0430\u0440\u044c\u0438\u0440\u043e\u0432\u0430\u0442\u0441\u044f \u043e\u0442 \u043d\u0430\u0447\u0430\u043b\u0430 \u0444\u0430\u0439\u043b\u0430, \u043a \u0435\u0433\u043e \u043a\u043e\u043d\u0446\u0443. \u0415\u0441\u043b\u0438 \u0432\u044b \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 OPTIMIZE TABLE, \u0442\u043e \u0441 \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439 \u0432\u0440\u044f\u0434 \u043b\u0438 \u0441\u0442\u043e\u043b\u043a\u043d\u0435\u0442\u0435\u0441\u044c. <\/p>\n<p><\/p>\n<p><strong>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435<\/strong>, \u0432\u0435\u0440\u0441\u0438\u044f \u0421\u0423\u0411\u0414 \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0441\u043f\u043e\u0441\u043e\u0431 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u0438 \u0434\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u043c\u0430\u0436\u043e\u0440\u043d\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439. \u0412 \u043c\u043e\u0451\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430\u0441\u044c windows \u0432\u0435\u0440\u0441\u0438\u044f mariadb 10.1.24. \u0422\u0430\u043a\u0436\u0435, \u0445\u043e\u0442\u044c \u0438 \u0432 mariadb \u0432\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442\u0435 \u0441 InnoDB \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438, \u043d\u043e \u043f\u043e \u0444\u0430\u043a\u0442\u0443 \u043e\u043d\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/XtraDB\">XtraDB<\/a><\/noindex>, \u0447\u0442\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u0441\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u0430 \u0441 InnoDB mysql. <\/p>\n<p><\/p>\n<h3 id=\"analiz-fayla\">\u0410\u043d\u0430\u043b\u0438\u0437 \u0444\u0430\u0439\u043b\u0430<\/h3>\n<p><\/p>\n<p>\u0412 python, \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.python.org\/3\/library\/stdtypes.html\">bytes()<\/a><\/noindex> \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u044e\u043d\u0438\u043a\u043e\u0434\u0435 \u0432 \u043c\u0435\u0441\u0442\u043e \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0447\u0438\u0441\u0435\u043b. \u0425\u043e\u0442\u044c \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u043c\u043e\u0436\u043d\u043e \u0438 \u0432 \u0442\u0430\u043a\u043e\u043c \u0432\u0438\u0434\u0435, \u043d\u043e \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u0431\u0430\u0439\u0442\u044b \u0432 \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u0439 \u0432\u0438\u0434 \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u044f \u043c\u0430\u0441\u0441\u0438\u0432 \u0431\u0430\u0439\u0442 \u0432 \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 (list(example_byte_array)). \u0412 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043f\u0440\u0438\u0433\u043b\u0430\u0434\u044f\u0442\u0441\u044f \u043e\u0431\u0430 \u0441\u043f\u043e\u0441\u043e\u0431\u0430. <\/p>\n<p><\/p>\n<p>\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e ibd \u0444\u0430\u0439\u043b\u043e\u0432, \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 XtraDB \u0442\u0430\u0431\u043b\u0438\u0446 \u0431\u0435\u0437 \u0444\u0430\u0439\u043b\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 ibd \u0444\u0430\u0439\u043b\u0430\" src=\"\/wp-content\/uploads\/2019\/05\/65f5e18ceee4a24b65c200ab3fa95e3d.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u041f\u0440\u0438 \u0447\u0451\u043c, \u0435\u0441\u043b\u0438 \u0434\u0435\u043b\u0438\u0442\u044c \u0444\u0430\u0439\u043b \u043f\u043e \u044d\u0442\u0438\u043c \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c \u0441\u043b\u043e\u0432\u0430\u043c, \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0441\u044f \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0440\u043e\u0432\u043d\u044b\u0435 \u0431\u043b\u043e\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u0411\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c infimum \u043a\u0430\u043a \u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c.<\/p>\n<p><\/p>\n<pre><code class=\"python\">table = table.split(&quot;infimum&quot;.encode())<\/code><\/pre>\n<p><\/p>\n<p>\u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435, \u0434\u043b\u044f \u0442\u0430\u0431\u043b\u0438\u0446 \u0441 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445, \u043c\u0435\u0436\u0434\u0443 infimum \u0438 supremum \u0435\u0441\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0440\u043e\u043a \u0432 \u0431\u043b\u043e\u043a\u0435. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 XtraDB \u0442\u0430\u0431\u043b\u0438\u0446 \u0431\u0435\u0437 \u0444\u0430\u0439\u043b\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 ibd \u0444\u0430\u0439\u043b\u0430\" src=\"\/wp-content\/uploads\/2019\/05\/b94f778f90b533219c30dc0af8d4969b.png\" style=\"display:block;margin: 0 auto;\" \/> \u2014 \u0442\u0435\u0441\u0442\u043e\u0432\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0441 1-\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 XtraDB \u0442\u0430\u0431\u043b\u0438\u0446 \u0431\u0435\u0437 \u0444\u0430\u0439\u043b\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 ibd \u0444\u0430\u0439\u043b\u0430\" src=\"\/wp-content\/uploads\/2019\/05\/2f8c3ab3f58a6fd73348a6a467e4a199.png\" style=\"display:block;margin: 0 auto;\" \/> \u2014 \u0442\u0435\u0441\u0442\u043e\u0432\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0441 2-\u043c\u044f \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438<\/p>\n<p><\/p>\n<p>\u041c\u0430\u0441\u0441\u0438\u0432 \u0441\u0442\u0440\u043e\u043a table[0] \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c. \u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0432 \u0435\u0433\u043e, \u043c\u043d\u0435 \u0442\u0430\u043a \u0438 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c \u0441\u044b\u0440\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446. \u0421\u043a\u043e\u0440\u0435\u0439 \u0432\u0441\u0435\u0433\u043e, \u0434\u0430\u043d\u043d\u044b\u0439 \u0431\u043b\u043e\u043a \u0441\u043b\u0443\u0436\u0438\u0442 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0438 \u043a\u043b\u044e\u0447\u0435\u0439.<br \/>\n\u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 table[1] \u0438 \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u044f \u0435\u0451 \u0432 \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u0439 \u043c\u0430\u0441\u0441\u0438\u0432, \u0443\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u043a\u043e\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u0438, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 XtraDB \u0442\u0430\u0431\u043b\u0438\u0446 \u0431\u0435\u0437 \u0444\u0430\u0439\u043b\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 ibd \u0444\u0430\u0439\u043b\u0430\" src=\"\/wp-content\/uploads\/2019\/05\/e56718f67492711d82dc39f81e54b980.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u042d\u0442\u043e int \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0445\u0440\u0430\u043d\u0438\u043c\u044b\u0435 \u0432 \u0441\u0442\u0440\u043e\u043a\u0435. \u041f\u0435\u0440\u0432\u044b\u0439 \u0431\u0430\u0439\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u0447\u0438\u0441\u043b\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c, \u0438\u043b\u0438 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c. \u0412 \u043c\u043e\u0451\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0432\u0441\u0451 \u0447\u0438\u0441\u043b\u0430 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435. \u0418\u0437 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 3-\u0445 \u0431\u0430\u0439\u0442, \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0447\u0438\u0441\u043b\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e. \u0421\u043a\u0440\u0438\u043f\u0442:<\/p>\n<p><\/p>\n<pre><code class=\"python\">def find_int(val: str):  # example '128, 1, 2, 3'\n    val = [int(v) for v in  val.split(&quot;, &quot;)]\n    result_int = val[1]*256**2 + val[2]*256*1 + val[3]\n    return result_int<\/code><\/pre>\n<p><\/p>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <em>128, 0, 0, 1 = 1<\/em>, \u0438\u043b\u0438 <em>128, 0, 75, 108 = 19308<\/em>.<br \/>\n\u0412 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0438\u043c\u0435\u043b\u0441\u044f \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0441 \u0430\u0432\u0442\u043e\u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u043e\u043c, \u0438 \u0437\u0434\u0435\u0441\u044c \u0435\u0433\u043e \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 XtraDB \u0442\u0430\u0431\u043b\u0438\u0446 \u0431\u0435\u0437 \u0444\u0430\u0439\u043b\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 ibd \u0444\u0430\u0439\u043b\u0430\" src=\"\/wp-content\/uploads\/2019\/05\/f23b913c7774dee923e36d48e75c3292.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u0421\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0432 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u0442\u0430\u0431\u043b\u0438\u0446, \u0431\u044b\u043b\u043e \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u043e, \u0447\u0442\u043e \u043e\u0431\u044a\u0435\u043a\u0442 DATETIME \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 5 \u0431\u0430\u0439\u0442 \u043d\u0430\u0447\u0438\u043d\u0430\u043b\u0441\u044f \u0441 153 (\u0441\u043a\u043e\u0440\u0435\u0439 \u0432\u0441\u0435\u0433\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0433\u043e\u0434\u043e\u0432\u044b\u0435 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043a\u0438). \u0422\u0430\u043a \u043a\u0430\u043a \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d DATTIME \u0440\u0430\u0432\u0435\u043d &#8216;1000-01-01&#8217; to &#8216;9999-12-31&#8217;, \u0434\u0443\u043c\u0430\u044e \u0447\u0438\u0441\u043b\u043e \u0431\u0430\u0439\u0442 \u043c\u043e\u0436\u0435\u0442 \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0437\u043d\u0438\u0442\u0441\u044f, \u043d\u043e \u0432 \u043c\u043e\u0451\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u0434\u043f\u0430\u0434\u0430\u044e\u0442 \u0432 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u043a \u043e\u0442 2016 \u043f\u043e 2019 \u0433\u043e\u0434\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0431\u0443\u0434\u0435\u043c \u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e 5 \u0431\u0430\u0439\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e. <\/p>\n<p><\/p>\n<p>\u0414\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0431\u0435\u0437 \u0441\u0435\u043a\u0443\u043d\u0434, \u0431\u044b\u043b\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0421\u043a\u0440\u0438\u043f\u0442:<\/p>\n<p><\/p>\n<pre><code class=\"python\">day_ = lambda x: x % 64 \/\/ 2  # {x,x,X,x,x }\n\ndef hour_(x1, x2):  # {x,x,X1,X2,x}\n    if x1 % 2 == 0:\n        return x2 \/\/ 16\n    elif x1 % 2 == 1:\n        return x2 \/\/ 16 + 16\n    else:\n        raise ValueError\n\nmin_ = lambda x1, x2: (x1 % 16) * 4 + (x2 \/\/ 64)  # {x,x,x,X1,X2}<\/code><\/pre>\n<p><\/p>\n<p>\u0414\u043b\u044f \u0433\u043e\u0434\u0430 \u0438 \u043c\u0435\u0441\u044f\u0446\u0430 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0434\u0440\u0430\u0432\u043e-\u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043f\u043e-\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0445\u0430\u0440\u043a\u043e\u0434\u0438\u0442\u044c. \u0421\u043a\u0440\u0438\u043f\u0442:<\/p>\n<p><\/p>\n<pre><code class=\"python\">ym_list = {'2016, 1': '153, 152, 64', '2016, 2': '153, 152, 128', \n           '2016, 3': '153, 152, 192', '2016, 4': '153, 153, 0',\n           '2016, 5': '153, 153, 64', '2016, 6': '153, 153, 128', \n           '2016, 7': '153, 153, 192', '2016, 8': '153, 154, 0', \n           '2016, 9': '153, 154, 64', '2016, 10': '153, 154, 128', \n           '2016, 11': '153, 154, 192', '2016, 12': '153, 155, 0',\n           '2017, 1': '153, 155, 128', '2017, 2': '153, 155, 192', \n           '2017, 3': '153, 156, 0', '2017, 4': '153, 156, 64',\n           '2017, 5': '153, 156, 128', '2017, 6': '153, 156, 192',\n           '2017, 7': '153, 157, 0', '2017, 8': '153, 157, 64',\n           '2017, 9': '153, 157, 128', '2017, 10': '153, 157, 192', \n           '2017, 11': '153, 158, 0', '2017, 12': '153, 158, 64', \n           '2018, 1': '153, 158, 192', '2018, 2': '153, 159, 0',\n           '2018, 3': '153, 159, 64', '2018, 4': '153, 159, 128', \n           '2018, 5': '153, 159, 192', '2018, 6': '153, 160, 0',\n           '2018, 7': '153, 160, 64', '2018, 8': '153, 160, 128',\n           '2018, 9': '153, 160, 192', '2018, 10': '153, 161, 0', \n           '2018, 11': '153, 161, 64', '2018, 12': '153, 161, 128',\n           '2019, 1': '153, 162, 0', '2019, 2': '153, 162, 64', \n           '2019, 3': '153, 162, 128', '2019, 4': '153, 162, 192', \n           '2019, 5': '153, 163, 0', '2019, 6': '153, 163, 64',\n           '2019, 7': '153, 163, 128', '2019, 8': '153, 163, 192',\n           '2019, 9': '153, 164, 0', '2019, 10': '153, 164, 64', \n           '2019, 11': '153, 164, 128', '2019, 12': '153, 164, 192',\n           '2020, 1': '153, 165, 64', '2020, 2': '153, 165, 128',\n           '2020, 3': '153, 165, 192','2020, 4': '153, 166, 0', \n           '2020, 5': '153, 166, 64', '2020, 6': '153, 1, 128',\n           '2020, 7': '153, 166, 192', '2020, 8': '153, 167, 0', \n           '2020, 9': '153, 167, 64','2020, 10': '153, 167, 128',\n           '2020, 11': '153, 167, 192', '2020, 12': '153, 168, 0'}\n\ndef year_month(x1, x2):  # {x,X,X,x,x }\n\n    for key, value in ym_list.items():\n        key = [int(k) for k in key.replace(&quot;'&quot;, &quot;&quot;).split(&quot;, &quot;)]\n        value = [int(v) for v in value.split(&quot;, &quot;)]\n        if x1 == value[1] and x2 \/\/ 64 == value[2] \/\/ 64:\n            return key\n    return 0, 0<\/code><\/pre>\n<p><\/p>\n<p>\u0423\u0432\u0435\u0440\u0435\u043d, \u0435\u0441\u043b\u0438 \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c n \u0447\u0438\u0441\u043b\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0442\u043e \u0438 \u044d\u0442\u043e \u043d\u0435\u0434\u043e\u0440\u0430\u0437\u0443\u043c\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c.<br \/>\n\u0414\u0430\u043b\u0435\u0435, \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0430\u044f \u043e\u0431\u044a\u0435\u043a\u0442 datetime \u0438\u0437 \u0441\u0442\u0440\u043e\u043a\u0438. \u0421\u043a\u0440\u0438\u043f\u0442:<\/p>\n<p><\/p>\n<pre><code class=\"python\">def find_data_time(val:str):\n    val = [int(v) for v in val.split(&quot;, &quot;)]\n    day = day_(val[2])\n    hour = hour_(val[2], val[3])\n    minutes = min_(val[3], val[4])\n    year, month = year_month(val[1], val[2])\n    return datetime(year, month, day, hour, minutes)<\/code><\/pre>\n<p><\/p>\n<p>\u0423\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c \u0447\u0430\u0441\u0442\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0435\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438\u0437 int, int, datetime, datetime <img decoding=\"async\" alt=\"\u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 XtraDB \u0442\u0430\u0431\u043b\u0438\u0446 \u0431\u0435\u0437 \u0444\u0430\u0439\u043b\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 ibd \u0444\u0430\u0439\u043b\u0430\" src=\"\/wp-content\/uploads\/2019\/05\/e1e004a7b33d2c5d919b02d58fe985b4.png\" style=\"display:block;margin: 0 auto;\" \/>, \u043f\u043e\u0445\u043e\u0436\u0435 \u044d\u0442\u043e \u0442\u043e \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e. \u041f\u0440\u0438\u0447\u0451\u043c, \u0442\u0430\u043a\u0430\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0434\u0432\u0430\u0436\u0434\u044b \u0437\u0430 \u0441\u0442\u0440\u043e\u043a\u0443 \u043d\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442\u0441\u044f. <\/p>\n<p><\/p>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435:<\/p>\n<p><\/p>\n<pre><code class=\"python\">fined = re.findall(r'128, d*, d*, d*, 128, d*, d*, d*, 153, 1[6,5,4,3]d, d*, d*, d*, 153, 1[6,5,4,3]d, d*, d*, d*', int_array)<\/code><\/pre>\n<p><\/p>\n<p>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043f\u0440\u0438 \u043f\u043e\u0438\u0441\u043a\u0435 \u043f\u043e \u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044e, \u043d\u0435 \u0443\u0434\u0430\u0441\u0442\u0441\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c NULL \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0445 \u043f\u043e\u043b\u044f\u0445, \u043d\u043e \u0432 \u043c\u043e\u0451\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e \u043d\u0435 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e. \u041f\u043e\u0441\u043b\u0435 \u0432 \u0446\u0438\u043a\u043b\u0435 \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0435\u043c \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u043e\u0435. \u0421\u043a\u0440\u0438\u043f\u0442:<\/p>\n<p><\/p>\n<pre><code class=\"python\">result = []\nfor val in fined:\n    pre_result = []\n    bd_int  = re.findall(r&quot;128, d*, d*, d*&quot;, val)\n    bd_date= re.findall(r&quot;(153, 1[6,5,4,3]d, d*, d*, d*)&quot;, val)\n    for it in bd_int:\n        pre_result.append(find_int(bd_int[it]))\n    for bd in bd_date:\n        pre_result.append(find_data_time(bd))\n    result.append(pre_result)<\/code><\/pre>\n<p><\/p>\n<p>\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u0441\u0451, \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 result, \u044d\u0442\u043e \u0438 \u0435\u0441\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043d\u0430\u043c \u0434\u0430\u043d\u043d\u044b\u0435. ###PS.###<br \/>\n\u042f \u043f\u043e\u043d\u0438\u043c\u0430\u044e \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e\u0434\u043e\u0439\u0434\u0451\u0442 \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0441\u0435\u043c, \u043d\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0446\u0435\u043b\u044c \u0441\u0442\u0430\u0442\u044c\u0438 \u0441\u043a\u043e\u0440\u0435\u0439 \u043d\u0430\u0442\u043e\u043b\u043a\u043d\u0443\u0442\u044c \u043d\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435, \u0447\u0435\u043c \u0440\u0435\u0448\u0438\u0442\u044c \u0432\u0441\u0435 \u0432\u0430\u0448\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b. \u0414\u0443\u043c\u0430\u044e \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0431\u044b\u043b\u043e \u0431\u044b \u043d\u0430\u0447\u0430\u0442\u044c \u0438\u0437\u0443\u0447\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u0441\u0430\u043c\u043e\u0439 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/MariaDB\/server\/tree\/10.1\">mariadb<\/a><\/noindex>, \u043d\u043e \u0432 \u0441\u0432\u044f\u0437\u0438 \u0441 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c, \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0431\u044b\u0441\u0442\u0440\u044b\u0439. <\/p>\n<p><\/p>\n<p>\u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445, \u043f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0432 \u0444\u0430\u0439\u043b, \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0438 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0438\u0437 \u0441\u0441\u044b\u043b\u043e\u043a \u0432\u044b\u0448\u0435. \u042d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0435\u0439 \u0438 \u0432\u044b\u0437\u043e\u0432\u0435\u0442 \u043c\u0435\u043d\u044c\u0448\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c.<\/p>\n<p>\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/453368\/\">habr.com<\/a><\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f \u0422\u0430\u043a \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e, \u0447\u0442\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0431\u044b\u043b \u0430\u0442\u0430\u043a\u043e\u0432\u0430\u043d \u0432\u0438\u0440\u0443\u0441\u043e\u043c \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043b\u044c\u0449\u0438\u043a\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e &quot;\u0441\u0447\u0430\u0441\u0442\u043b\u0438\u0432\u043e\u0439 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u0438&quot;, \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u043e\u0442\u0441\u0442\u0430\u0432\u0438\u043b \u043d\u0435 \u0442\u0440\u043e\u043d\u0443\u0442\u044b\u043c\u0438 \u0444\u0430\u0439\u043b\u044b .ibd (\u0444\u0430\u0439\u043b\u044b \u0441\u044b\u0440\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 innodb \u0442\u0430\u0431\u043b\u0438\u0446), \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043b \u0444\u0430\u0439\u043b\u044b .fpm (\u0444\u0430\u0439\u043b\u044b \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440). \u041f\u0440\u0438 \u044d\u0442\u043e\u043c .idb \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430: \u043f\u043e\u0434\u043b\u0435\u0436\u0430\u0449\u0438\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044e \u0447\u0435\u0440\u0435\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0438 \u0433\u0430\u0439\u0434\u044b. \u0414\u043b\u044f \u0442\u0430\u043a\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u0435\u0432, \u0435\u0441\u0442\u044c \u043e\u0442\u043b\u0438\u0447\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u0441\u044f; \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":25973,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-34467","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f \u0422\u0430\u043a \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e, \u0447\u0442\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0431\u044b\u043b \u0430\u0442\u0430\u043a\u043e\u0432\u0430\u043d \u0432\u0438\u0440\u0443\u0441\u043e\u043c \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043b\u044c\u0449\u0438\u043a\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e &quot;\u0441\u0447\u0430\u0441\u0442\u043b\u0438\u0432\u043e\u0439 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u0438&quot;, \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u043e\u0442\u0441\u0442\u0430\u0432\u0438\u043b \u043d\u0435 \u0442\u0440\u043e\u043d\u0443\u0442\u044b\u043c\u0438 \u0444\u0430\u0439\u043b\u044b .ibd (\u0444\u0430\u0439\u043b\u044b \u0441\u044b\u0440\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 innodb \u0442\u0430\u0431\u043b\u0438\u0446), \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043b \u0444\u0430\u0439\u043b\u044b .fpm (\u0444\u0430\u0439\u043b\u044b \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440). \u041f\u0440\u0438 \u044d\u0442\u043e\u043c .idb \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430: \u043f\u043e\u0434\u043b\u0435\u0436\u0430\u0449\u0438\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044e \u0447\u0435\u0440\u0435\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0438 \u0433\u0430\u0439\u0434\u044b. \u0414\u043b\u044f \u0442\u0430\u043a\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u0435\u0432, \u0435\u0441\u0442\u044c \u043e\u0442\u043b\u0438\u0447\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u0441\u044f; \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/vosstanovlenie-dannyh-s-xtradb-tablits-bez-fajla-struktury-ispolzuya-pobajtovyj-analiz-ibd-fajla\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 XtraDB \u0442\u0430\u0431\u043b\u0438\u0446 \u0431\u0435\u0437 \u0444\u0430\u0439\u043b\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 ibd \u0444\u0430\u0439\u043b\u0430 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f \u0422\u0430\u043a \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e, \u0447\u0442\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0431\u044b\u043b \u0430\u0442\u0430\u043a\u043e\u0432\u0430\u043d \u0432\u0438\u0440\u0443\u0441\u043e\u043c \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043b\u044c\u0449\u0438\u043a\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e &quot;\u0441\u0447\u0430\u0441\u0442\u043b\u0438\u0432\u043e\u0439 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u0438&quot;, \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u043e\u0442\u0441\u0442\u0430\u0432\u0438\u043b \u043d\u0435 \u0442\u0440\u043e\u043d\u0443\u0442\u044b\u043c\u0438 \u0444\u0430\u0439\u043b\u044b .ibd (\u0444\u0430\u0439\u043b\u044b \u0441\u044b\u0440\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 innodb \u0442\u0430\u0431\u043b\u0438\u0446), \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043b \u0444\u0430\u0439\u043b\u044b .fpm (\u0444\u0430\u0439\u043b\u044b \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440). \u041f\u0440\u0438 \u044d\u0442\u043e\u043c .idb \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430: \u043f\u043e\u0434\u043b\u0435\u0436\u0430\u0449\u0438\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044e \u0447\u0435\u0440\u0435\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0438 \u0433\u0430\u0439\u0434\u044b. \u0414\u043b\u044f \u0442\u0430\u043a\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u0435\u0432, \u0435\u0441\u0442\u044c \u043e\u0442\u043b\u0438\u0447\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u0441\u044f; \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/vosstanovlenie-dannyh-s-xtradb-tablits-bez-fajla-struktury-ispolzuya-pobajtovyj-analiz-ibd-fajla\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:58:31+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:58:31+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Datenwiederherstellung von XtraDB-Tabellen ohne Strukturdatei, unter Verwendung einer byteweise Analyse der .ibd-Datei | ProHoster","description":"Hintergrund: Es kam dazu, dass der Server von einem Ransomware-Virus angegriffen wurde, der \u201egl\u00fccklicherweise\u201c teilweise .ibd-Dateien (die Rohdaten von InnoDB-Tabellen) unber\u00fchrt lie\u00df, aber die .fpm-Dateien (Strukturdaten) vollst\u00e4ndig verschl\u00fcsselte. Die .idb-Dateien konnten dann in: wiederherstellbare \u00fcber die Standardwerkzeuge und Anleitungen unterteilt werden. F\u00fcr solche F\u00e4lle gibt es einen ausgezeichneten Artikel \u00fcber teilweise verschl\u00fcsselte Daten.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/vosstanovlenie-dannyh-s-xtradb-tablits-bez-fajla-struktury-ispolzuya-pobajtovyj-analiz-ibd-fajla","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 XtraDB \u0442\u0430\u0431\u043b\u0438\u0446 \u0431\u0435\u0437 \u0444\u0430\u0439\u043b\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 ibd \u0444\u0430\u0439\u043b\u0430 | ProHoster","og:description":"\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f \u0422\u0430\u043a \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e, \u0447\u0442\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0431\u044b\u043b \u0430\u0442\u0430\u043a\u043e\u0432\u0430\u043d \u0432\u0438\u0440\u0443\u0441\u043e\u043c \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043b\u044c\u0449\u0438\u043a\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e &quot;\u0441\u0447\u0430\u0441\u0442\u043b\u0438\u0432\u043e\u0439 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u0438&quot;, \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u043e\u0442\u0441\u0442\u0430\u0432\u0438\u043b \u043d\u0435 \u0442\u0440\u043e\u043d\u0443\u0442\u044b\u043c\u0438 \u0444\u0430\u0439\u043b\u044b .ibd (\u0444\u0430\u0439\u043b\u044b \u0441\u044b\u0440\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 innodb \u0442\u0430\u0431\u043b\u0438\u0446), \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043b \u0444\u0430\u0439\u043b\u044b .fpm (\u0444\u0430\u0439\u043b\u044b \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440). \u041f\u0440\u0438 \u044d\u0442\u043e\u043c .idb \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430: \u043f\u043e\u0434\u043b\u0435\u0436\u0430\u0449\u0438\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044e \u0447\u0435\u0440\u0435\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0438 \u0433\u0430\u0439\u0434\u044b. \u0414\u043b\u044f \u0442\u0430\u043a\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u0435\u0432, \u0435\u0441\u0442\u044c \u043e\u0442\u043b\u0438\u0447\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u0441\u044f; \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/vosstanovlenie-dannyh-s-xtradb-tablits-bez-fajla-struktury-ispolzuya-pobajtovyj-analiz-ibd-fajla","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:58:31+00:00","article:modified_time":"2019-10-31T18:58:31+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"34467","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 19:23:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:20:56","updated":"2026-01-21 19:23:19"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/34467","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=34467"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/34467\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/25973"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=34467"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=34467"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=34467"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}