Вопрос по mysql – Восстановить папку базы данных MySQL с восстановленного жесткого диска

15

Мне удалось восстановить папку базы данных MySQL Server 5.5 поврежденной операционной системы (Windows XP) по адресу

C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.5\data\

Как я могу вручную восстановить его на новый сервер MySQL? Открывая папку, я обнаружил несколько папок и поверил, что это базы данных. Я не подавал никаких файлов SQL.

Ваш Ответ

3   ответа
4

что управление файлами в MySQL по умолчанию довольно простое. Создайте простую новую базу данных и скопируйте восстановленные файлы в подпапку mysql, которая создается в ответ, заменяя любые созданные файлы базы данных. Если это не сработает, создайте таблицу в новой базе данных, чтобы получить подсказку о том, что еще может понадобиться.

Вероятно, стоит создать новую базу данных.shutting down the server before copying the existing files over просто чтобы быть уверенным, что нет проблем с внутренним состоянием.
Я смог восстановить его, прежде чем я прочитал ваш ответ. Спасибо, приятель, этого было достаточно. :) John Woo
у меня это сработало, дополнительно рекомендую запустить & quot; проверить таблицы & quot; и «ремонтные столы»; на целые базы данных через инструмент phpmyadmin, спасибо: D
23

Возможный сценарий

MYSQL program is corrupted and fail to start. Fresh install of MYSQL did not restore the data. Computer crashed but hard disk is still working Windows corrupted and fail to start up, but data is safe.

К вашему сведению, в MYSQL файлы с расширениемMYD это данные таблицы,FRM Файлы это определение таблицы иMYI Файл таблицы индексов. Также естьibdata файл, указанный в my.ini, который является таблицами InnoDB. Вы должны бытьadministrator, так что вы можете получить доступDocument and Settings папка илиProgram Files папка.

Open Window Explorer (Windows Key + E) or Open My Computer and go to the data folder where your database files reside. I would recommend you to copy all the folders in the data folder than just picking a few to copy. Copy the database folders and ibdata file (DO NOT COPY THE ib_logfile(x) files!) Note that the ibdata file might not be in the same location as the data files. To find out where it could be, read How to find MYSQL database files in Windows. Go over to the target computer, Open System Services. (Type services.msc at the Windows menu “Search Program and files” entry box) On the right panel of the Services window, scroll along the list and look for the name “MYSQL“. Select MYSQL and right mouse click and click . Once it has stopped, you will it’s status become blank instead of . Similarly look for the location of the data folder. Once you located it, I recommend you back up the folder or just rename it. Paste over the folders and ibdata file you have copied from the source computer to the data folder. Go back to the Services window and select back MYSQL. Right mouse click on it and click to resume the MYSQL service. Open MYSQL administrator and log on to your database server and you should be able to see your transferred database together with their data.
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
7

Ответ @ JohnWoo только дляMYSIAM движок базы данных. Мой ответ строго дляInnoDb двигатель хранения, т.е.FRM а такжеIBD файлы

ВосстановитьInnoDb базу данных, я выполнил именно эти шаги успешно. Прежде чем указывать на эти шаги, я хотел бы сказать вам, что я выполнил восстановление с восстановленного жесткого диска Wndows XP и перенес его на Windows 7. Таким образом, это поможет как пользователям Windows XP, так и Windows 7. Итак, шаги, которые я выполнил:

The MySQL server at both the machines MUST be stopped. Of course if the OS/hard disk crashed, the server at that machine is already stopped. Now, MySQL installation is in 2 folders (for me at least) ->
1. Program Files / Program Files (x86), and
2. C:\Program Data\MySQL in windows 7 and C:\Users\All users\Application Data\MySQL in Windows XP. Note that Program Data(win7) as well as Application Data(WinXP) are hidden folders. We are ONLY CONCERNED with the MySQL Server ** folder in the Application Data or Program Data folders. The Mysql folder in Program Files is of no use as it does not have your data. Now Copy the my.ini file in MySQL Server ** folder. Open the data folder and copy these files
1. All the ib_logfile* files
2. All the ibdata* files
3. The database folders (that you want) containing .frm and .ibd files Now, copy the files mentioned in the above two points in the destination machine. It is highly recommended to take a backup of the replaced files in the destination machine. Now, restart the server. If you went right, you would restore your databases without any error.

Я бы порекомендовал вам взглянуть на метод холодного резервного копирования для InnoDB в документации по MySQL наdev.mysql.com/doc/mysql-backup-excerpt/5.5/en/innodb-backup.html

Error: User Rate Limit Exceededmy.iniError: User Rate Limit ExceededdatadirError: User Rate Limit Exceededdatadir=D:/MySql_Data/

Похожие вопросы