Пропали индексы в таблицах базы данных

Автор: Aport Суббота, Январь 31st, 2015 Нет комментариев

Рубрика: MySQL

Обнаружилось, что в некоторых таблицах базы данных пропали индексы, что же делать. А т.к. я ленивый, я не стал вручную перебирать таблицы и вручную выяснять где и чего не хватает. Поэтому я решил проблему так

1. сделал дамп схемы базы (без данных)

mysqldump -u [USERNAME] -pPASS [DBNAME] —no-data > /home/www/dumpSheme.sql

2. в консоле подключился к mysql и создал базу данных в нужной кодировке

mysql> create database databaseSheme CHARACTER SET cp1251 COLLATE cp1251_bin;

* для ютф-8 используем CHARACTER SET utf8 COLLATE utf8_general_ci

3. импортирую дамп схемы в созданную базу

mysql -u root -p -f databaseSheme < /home/www/dumpSheme.sql

4. запустил программу dbForge, зажав Ctrl выбрал Проводнике (слева) свою базу данных (в которой поломались индексы) и новую базу databaseSheme, нажал правой клавишей мыши и контекстном меню выбрал Новое сравнение схем.

5. в появившемся окне нажал на кнопк Сравнить и подождал пока базы сравнятся, появилось окно в виде таблицы, и лично меня интересны строки параграфа Разные. В этоих строках я поставил галочки там, где считаю, что индексов не хватает.

6. нажал правой клавишей мыши в любом месте этой таблицы и в контестном меню выбрал Синхронизировать ( не бойтесь, это еще не сихронизация ), т.к. после этого появляется окошко, в котором Вам предложат варианты синхронизации, и лично я просто выбрал «Выполнить в базу данных»

7. теперь если база большая, то можно пойти попить чай, а если очень большая, то посмотреть фильм, удачки!

 

Источник: yapro.ru

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты