Исходный код вики MySQL - восстановление таблиц

Редактировал(а) Руслан Савельев 2025/08/06 06:40

Скрыть последних авторов
Руслан Савельев 23.1 1 == **1. Общая информация** ==
Руслан Савельев 1.2 2
3 Перед восстановлением закройте все программы, которые могут обращаться к БД (СНК-АЗС, Бэк Офис СНК-АЗС) на всех рабочих местах!
4
5 Для восстановления таблиц все операции необходимо проводить на основном рабочем месте, на жестком диске которого инсталлирована MySQL. Если у вас несколько рабочих мест, на остальных дополнительных действий не требуется.
6
Руслан Савельев 21.1 7 (% class="box infomessage" %)
8 (((
Руслан Савельев 17.1 9 **Процесс восстановления всех таблиц может занять значительное время!**
Руслан Савельев 21.1 10 )))
Руслан Савельев 1.2 11
Руслан Савельев 23.1 12 == **2. Восстановление базы данных** ==
Руслан Савельев 1.2 13
Руслан Савельев 17.1 14 (% class="wikigeneratedid" id="H41743043F44344144243844243543F44043E43344043043C43C443ABMySQLAdministratorBB43E43443D43843C43843743243044043843043D44243E432:" %)
Руслан Савельев 18.1 15 **2.1. Запустите программу «MySQL Administrator» одним из вариантов (А или Б):**
Руслан Савельев 1.2 16
Руслан Савельев 17.1 17 (% class="wikigeneratedid" id="H41243044043843043D442410201343843743C43543D44E43A43D43E43F43A438AB41F44344143ABB:" %)
18 **А) из меню кнопки «Пуск»:**
19
Руслан Савельев 3.2 20 * Нажмите на кнопку «Пуск»
21 * Найдите в списке папку «MySQL» и нажмите на нее
22 * Найдите иконку «MySQL Administrator» и нажмите на неё
Руслан Савельев 1.2 23
Руслан Савельев 19.1 24 [[Меню кнопки "Пуск" с выделенной программой>>image:1741075376036-661.png||data-xwiki-image-style-alignment="center" height="244" width="250"]]
Руслан Савельев 1.2 25
Руслан Савельев 17.1 26 (% class="wikigeneratedid" id="H41243044043843043D442411201343E44243A44043E43944243544443043943B43D43043443844143A435:" %)
27 **Б) откройте файл на диске:**
Руслан Савельев 1.2 28
Руслан Савельев 3.2 29 * Перейдите в папку «##C:\Program Files (x86)\MySQL\MySQL Tools for 5.0\##»
30 * Запустите файл «##MySQLAdministrator.exe##»
Руслан Савельев 1.2 31
Руслан Савельев 19.1 32 [[Запускаемый файл программы>>image:1741075518989-726.png||data-xwiki-image-style-alignment="center" height="187" width="600"]]
Руслан Савельев 1.2 33
Руслан Савельев 17.1 34 (% class="wikigeneratedid" id="H41243243543443844243543F43044043043C43544244044B43F43E43443A43B44E44743543D43844F:" %)
Руслан Савельев 18.1 35 **2.2. Введите параметры подключения:**
Руслан Савельев 1.2 36
Руслан Савельев 3.3 37 * Server Host: localhost
38 * Username: root
39 * Port: 3306
40 * Password:
Руслан Савельев 4.2 41 * Нажмите **OK** для подключения.
Руслан Савельев 1.2 42
Руслан Савельев 19.1 43 [[Окно подключения к БД>>image:1741075708775-628.png||data-xwiki-image-style-alignment="center" height="193" width="250"]]
Руслан Савельев 1.2 44
Руслан Савельев 21.1 45 (% class="box infomessage" %)
46 (((
47 **Данные для подключения могут отличаться, при необходимости уточните их у администратора.**
48 )))
Руслан Савельев 1.2 49
Руслан Савельев 4.3 50 После подключения к базе данных откроется главное окно программы.
Руслан Савельев 1.2 51
Руслан Савельев 17.1 52 (% class="wikigeneratedid" id="H41244B43143544043844243543143043744343443043D43D44B44543443B44F43243E44144144243043D43E43243B43543D43844F:" %)
Руслан Савельев 18.1 53 **2.3. Выберите базу данных для восстановления:**
Руслан Савельев 1.2 54
Руслан Савельев 5.2 55 * Перейдите в раздел **Catalogs** (на рисунке отмечено цифрой **1**)
56 * Выберите базу данных для восстановления (на рисунке отмечено цифрой **2**):
57 ** **oc** – это база данных СНК-АЗС
58 ** **ocw** – это база данных СНК-Офис
Руслан Савельев 1.2 59
Руслан Савельев 19.1 60 [[В разделе «Catalogs» выбрана база данных «oc»>>image:1741076055220-430.png||data-xwiki-image-style-alignment="center" height="417" width="600"]]
Руслан Савельев 1.2 61
Руслан Савельев 5.2 62 В правом окне появится список таблиц выбранной базы данных. Поврежденные таблицы будут отмечены красным шрифтом, что говорит о том, что MySQL обнаружил повреждения в отмеченных таблицах в автоматическом режиме:
Руслан Савельев 1.2 63
Руслан Савельев 19.1 64 [[Поврежденная таблица выделена красным>>image:1741076414303-598.png||data-xwiki-image-style-alignment="center" height="383" width="600"]]
Руслан Савельев 1.2 65
Руслан Савельев 17.1 66 (% class="wikigeneratedid" id="H41E44243C43544244C44243543F43E43244043543643443543D43D44B43544243043143B43844644B43843743043F44344144243844243543243E44144144243043D43E43243B43543D438435:" %)
Руслан Савельев 18.1 67 **2.4. Отметьте поврежденные таблицы и запустите восстановление:**
Руслан Савельев 1.2 68
Руслан Савельев 6.2 69 * В правом окне выберите поврежденные таблицы.
70 * Нажмите кнопку **Maintenance**
Руслан Савельев 1.2 71
Руслан Савельев 6.2 72 (% class="box infomessage" %)
73 (((
74 Не всегда MySQL может идентифицировать повреждения в таблицах в автоматическом режиме.
75 **Поэтому рекомендуем, до нажатия кнопки Maintenance выбрать для восстановления все таблицы.**
76 Для этого в списке таблиц нажмите **Ctrl+A**.
77 )))
Руслан Савельев 1.2 78
Руслан Савельев 19.1 79 [[Выбраны все таблицы для восстановления>>image:1741091218792-789.png||data-xwiki-image-style-alignment="center" height="378" width="600"]]
Руслан Савельев 6.2 80
Руслан Савельев 8.2 81 Откроется окно обслуживания таблиц, выберите в нем режим восстановления:
Руслан Савельев 6.2 82
Руслан Савельев 8.2 83 * Отметьте **Repair Tables**.
84 * Нажмите кнопку «**Next**».
Руслан Савельев 6.2 85
Руслан Савельев 19.1 86 [[Выбран режим восстановления таблиц>>image:1741091326992-853.png||data-xwiki-image-style-alignment="center" height="473" width="600"]]
Руслан Савельев 6.2 87
Руслан Савельев 8.2 88 * В окне выбора метода восстановления выберите:
89 ** **Extended**
90 ** **Use FRM**
91 * Нажмите кнопку «**Repair Tables**» для начала процесса восстановления.
Руслан Савельев 6.2 92
Руслан Савельев 19.1 93 [[Окно настройки режима восстановления>>image:1741091426204-430.png||data-xwiki-image-style-alignment="center" height="436" width="600"]]
Руслан Савельев 6.2 94
Руслан Савельев 9.3 95 * Дождитесь завершения процесса восстановления таблиц до появления окна с результатами.
96 * Нажмите кнопку «**Close**» для закрытия окна результатов.
Руслан Савельев 6.2 97
Руслан Савельев 19.1 98 [[Окно с результатами восстановления>>image:1741091517722-577.png||data-xwiki-image-style-alignment="center" height="474" width="600"]]
Руслан Савельев 6.2 99
Руслан Савельев 23.1 100 == **3. Проверка восстановления** ==
Руслан Савельев 10.2 101
102 * Нажмите кнопку «**Refresh**» для обновления списка таблиц.
103
Руслан Савельев 15.1 104 **Если нет таблиц, отмеченных красным, то восстановление прошло успешно. Закройте средства восстановления.**
Руслан Савельев 10.2 105
Руслан Савельев 17.1 106 Если после нажатия на кнопку «**Refresh**» таблицы остались выделены красным, то смотрите пункт ниже - «Возможные ошибки и их решение».
Руслан Савельев 10.2 107
Руслан Савельев 19.1 108 [[После восстановления таблица осталась поврежденной>>image:1741091650699-949.png||data-xwiki-image-style-alignment="center" height="383" width="600"]]
Руслан Савельев 10.2 109
Руслан Савельев 23.1 110 == **4. Возможные ошибки и их решение** ==
Руслан Савельев 10.2 111
Руслан Савельев 13.2 112 Если таблицы восстановить не удалось или восстановление не запускается, ниже приведены примеры решения таких ситуаций.
Руслан Савельев 10.2 113
Руслан Савельев 17.1 114 (% class="wikigeneratedid" id="H41E44144243043D43E43243A43044143B44343643144BMySQL" %)
Руслан Савельев 18.1 115 **4.1. Остановка службы MySQL**
Руслан Савельев 10.2 116
Руслан Савельев 13.2 117 **Откройте окно управления службами, для этого:**
Руслан Савельев 10.2 118
Руслан Савельев 13.2 119 * Нажмите кнопку «**Пуск**» и наберите на клавиатуре «**службы**», появится строка ввода, в которой будет виден набранный текст (на рисунке отмечено цифрой 1).
120 * Нажмите на найденный ярлык служб (на рисунке отмечено цифрой 2).
Руслан Савельев 10.2 121
Руслан Савельев 19.1 122 [[Поиск ярлыка "Службы" в меню кнопки "Пуск">>image:1741091809213-619.png||data-xwiki-image-style-alignment="center" height="185" width="500"]]
Руслан Савельев 10.2 123
Руслан Савельев 13.2 124 **Остановите службу MySQL (или MySQL57), для этого:**
Руслан Савельев 10.2 125
Руслан Савельев 13.2 126 * В окне «**Службы**» найдите службу **MySQL** (или **MySQL57**) и выберите ее.
127 * В левом окне нажмите на «**Остановить**».
128 * Выполните действия по исправлению ошибки.
129
Руслан Савельев 19.1 130 [[Управление работой службы>>image:1741091932904-901.png||data-xwiki-image-style-alignment="center" height="329" width="600"]]
Руслан Савельев 13.2 131
Руслан Савельев 17.1 132 (% class="wikigeneratedid" id="H41743043F44344143A44143B44343643144BMySQL" %)
Руслан Савельев 18.1 133 **4.2. Запуск службы MySQL**
Руслан Савельев 13.2 134
Руслан Савельев 14.3 135 После исправления ошибки запустите службу **MySQL**, нажав на «**Запустить**» в окне «**Службы**».
Руслан Савельев 13.2 136
Руслан Савельев 14.2 137 ----
Руслан Савельев 13.2 138
Руслан Савельев 17.1 139 (% class="wikigeneratedid" id="H41E44843843143A430201344344144243043D43E43243B43543D44B43044244043843144344244B44443043943B43E432411414AB42243E43B44C43A43E44744243543D438435BB438AB42143A44044B44244B439BB" %)
Руслан Савельев 18.1 140 **4.3. Ошибка 1 – установлены атрибуты файлов БД «Только чтение» и «Скрытый»**
Руслан Савельев 13.2 141
Руслан Савельев 14.2 142 * Остановите службу **MySQL**.
143 * Откройте в проводнике папку с нужной БД (##.\Mysql\MySQL Server 5.0\Data\oc##).
144 * Нажмите **Ctrl+A**, чтобы выбрать все файлы.
145 * Нажмите правую кнопку мыши и выберите «**Свойства**».
146 * В окне свойств **уберите **отметки с атрибутов «**Только чтени**е» и «**Скрытый**»
147 * Нажмите кнопку «Применить».
148 * Запустите службу **MySQL**.
149 * Запустите восстановление БД.
Руслан Савельев 13.2 150
Руслан Савельев 19.1 151 [[Окно свойств выбранных файлов>>image:1741092145521-463.png||data-xwiki-image-style-alignment="center" height="443" width="600"]]
Руслан Савельев 13.2 152
Руслан Савельев 17.1 153 (% class="wikigeneratedid" id="H41E44843843143A430201343D43543D43043943443543D44443043943B.MYD" %)
Руслан Савельев 18.1 154 **4.4. Ошибка 2 – не найден файл .MYD**
Руслан Савельев 13.2 155
Руслан Савельев 14.2 156 * Остановите службу **MySQL**.
157 * Откройте в проводнике папку с нужной БД (##.\Mysql\MySQL Server 5.0\Data\oc##).
158 * Проверьте расширения всех файлов, если есть файлы типа ##*.MYD-744_a## и подобные, переименуйте их расширения в правильный вид - ##*.MYD##
159 * Если какой-то файл ##MYD## не найден, то создайте пустой файл с нужным названием и таким расширением.
160 * Запустите службу **MySQL**.
161 * Запустите восстановление БД.
Руслан Савельев 13.2 162
Руслан Савельев 17.1 163 (% class="wikigeneratedid" id="H41E44843843143A4302013ABCouldnotfetchschematablestatusBB43843E44144243043D43E43243A43044143B44343643144BMySQL43243E43244043543C44F43243E44144144243043D43E43243B43543D43844F" %)
Руслан Савельев 18.1 164 **4.5. Ошибка 3 – «Could not fetch schema table status» и остановка службы MySQL во время восстановления**
Руслан Савельев 13.2 165
Руслан Савельев 14.2 166 * Остановите службу **MySQL**.
167 * Откройте в проводнике папку с нужной БД (##.\Mysql\MySQL Server 5.0\Data\oc##).
168 * Отсортируйте файлы по типу
169 * Удалите все файлы индексов (##*.MYI##)
170 * Запустите службу **MySQL**.
171 * Запустите восстановление БД.
Руслан Савельев 13.2 172
Руслан Савельев 17.1 173 (% class="wikigeneratedid" id="H41E44843843143A430201343D43543743043F44344143A43043544244144FMySQLAdministrator" %)
Руслан Савельев 18.1 174 **4.6. Ошибка 4 – не запускается MySQL Administrator**
Руслан Савельев 13.2 175
Руслан Савельев 14.2 176 * Откройте в проводнике папку ##C:\Users\<пользователь>\AppData\Roaming\MySQL##.
177 * Удалите все файлы настроек (##*.ini## и ##*.xml##)
178 * Запустите восстановление БД.
Руслан Савельев 13.2 179
Руслан Савельев 1.2 180