FAQ->Виртуальные и физические сервера
Разделы по теме:
- Облачное хранилище
- ISP manager Lite
- Общие вопросы администрирования
- IP-KVM (удаленный доступ к физическому серверу)
- Управление облачным VPS сервером
Восстановление баз данных MySQL с таблицами myisam и innodb
Когда у Вас возникли проблемы в работе базы данных и выдается сообщение о том, что ее таблицы повреждены, необходимо их восстанавливать. Для этого есть несколько способов, какой из них выбирать решать Вам.
Если база размещена на сервере db1-db8.freehost.com.ua то восстановить таблицы можно командой:
mysqlchek -r имя_бд
либо выполнить запрос REPAIR TABLE;
При использовании баз с таблицами InnoDB, которые размещаются на новых серверах db9-db17.freehost.com.ua, предыдущий метод не подойдет. Поскольку для кеширования данных и индексов, а также выполнения транзакций , используется специальное пространство памяти, которое может состоять из нескольких файлов. В то время как каждая таблица MyISAM хранится в отдельном файле.
Существует несколько способов восстановить базу данных MySQL с InnoDB.
1. Из панели управления хостингом. Этот метод так же подходит и для таблиц MyISAM.
В админпанели admin.freehost.com.ua в разделе "Управление сайтом" - "Резервные копии" Вам нужно выбрать бд, дату и способ восстановления.
2. Копирование содержимого таблицы. Запустите сервер в режиме MyISAM.
mysqld --innodb_force_recovery=
1
Попробуйте создать копию:
CREATE TABLE <новая таблица> LIKE <поврежденная таблица>;
INSERT INTO <новая таблица> SELECT * FROM <поврежденная таблица>;
Если получилось, удалите поврежденную таблицу и присвойте ее имя новой.
DROP TABLE <поврежденная таблица>;
RENAME TABLE <новая таблица> TO <поврежденная таблица>;
3. Восстановление базы данных на выделенном сервере.
Сделайте архив бинарных файлов баз при помощи Tar'a /var/lib/mysql
После чего включаем режим recovery в /
etc/my.cnf
innodb_force_recovery = 4
Создайте дамп всех абсолютно баз с опциями --all-databases
mysqldump -uadmin -p
пароль
--all-databases> /root/dumpall.sql
Остановите MySQL /etc/init.d/mysqld stop
Переименуйте папку, для которой делали архив, mysql в mysqlold. Создайте новую папку mysql с соотвтествующими правами.
Выполните mysql_install_db для первичной инициализации. Затем разверните dump всех баз
mysql -uadmin -p
пароль
--databases < /
root/
dumpall.sql
Статьи по теме:
- Как изменить ДНС сервера для моего домена?
- Реселлерская программа по регистрации доменов для клиентов VPS и физических серверов.
- Мой дамп mysql-базы занимает больше, чем разрешено заливать через phpMyAdmin. Что делать?
- Мой сайт на VDS выдает ошибку PHP типа "Allowed memory size of X bytes exhausted (tried to allocate Y bytes)"
- Сайт выдает ошибку "Call to undefined function..."
- Сайт выдает ошибку "Can't connect to database server" или подобную.
- Сайт работает, но очень медленно.
- Сервер DNS second.freehsot.com.ua что это и зачем?
- Как выполнить перезагрузку физического сервера?
- Как заказать дополнительный IP адрес?
- Можно ли перейти на более производительный физический сервер без перестановки системы?
- Как продлить услугу сервера?
- Я забыл свой пароль на FTP от сервера резервных копий. Что делать?
- Настройка мониторинга веб сервера apache с помощью модуля mod_status
- Сервера с IPMI
- Мой провайдер заблокировал 25 порт, не могу подключится к своему серверу.
- Подключение по VPN к серверу с IPMI
- Ошибка, порт 25 не доступен. SMTP, проверка с помощью telnet
- Диагностировка с WinMTR
- Логи web-сервера apache
- Ошибка недоверенное соединение
- Восстановление баз данных MySQL с таблицами myisam и innodb
- Установка панели Vesta и размещение сайта на примере wordpress
- Настройка кеширования в Worpdress с помощью плагина W3 Total Cache и memcached