Удалить базу данных mysql. Чистка и редактирование базы данных MySql

22.04.2019 Мобильный интернет

Доброго дня дорогие друзья. Пока моя дверь в офис едет из Питера, я решил написать для вас очень полезный пост и рассказать в нем о том, как можно за несколько минут полностью очистить базу данных MySQL своего блога от мусора, значительно уменьшив ее размер. Итак! Из этой статьи вы узнаете:

Давайте начнем.

ПЕРЕД ВСЕМИ МАНИПУЛЯЦИЯМИ СО СВОЕЙ БАЗОЙ ДАННЫХ БЛОГА СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ! НЕ ЗНАЕТЕ КАК, НАПИШИТЕ ХОСТЕРУ!

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

Зачем нужно очищать базу от мусора и как она им забивается?

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

Естественно, если блог качественно настроен изнутри и снаружи, в нем не глючат никакие плагины, все хорошо отверстанно, отключены ревизии постов, спам его не атакует и т.д., то база и не будет расти как на дрожжах. А вот если же она растет жестко, то это сигнал к тому, что что-то у вас не так. Ну само собой база должна расти, но не сильно!

Моя база данных за 3 года ведения блога весит — 58 Мб. Это нормально! Но можно уменьшить, что я вам и покажу в этой статье!

Мне тут написала женщина позавчера, — «Александр, я посмотрела на хостинге моя база данных весит 450 мб». Я ее спросил, — «Вы наверное уже лет 20 блог ведете?». Она сказала, — «Нет, всего пол года». Я чуть со стула не упал. Здесь однозначно у женщины проблемы. Давайте посмотрим из-за чего растут базы данных:

1. Из-за роста числа статей на блоге.
2. Из-за ревизий статей (резервных копий).
3. Из-за роста количества комментариев на блоге (спам-комментариев).
4. Из-за плагинов установленных на блоге.
5. Из-за лишних, не используемых MySQL таблиц.
6. Из-за кучи ненужных Pingbacks.

Чем больше контента — тем больше база — это нормально! Но вот когда ревизии (резервные копии статей) не отключены или не очищаются постоянно вручную, то это плохо! База данных будет весить тонны. И это не шутка. Ну представьте, вы пишите пост, автоматически сохраняется черновик:

И вот сколько их может сохраниться за время написания поста? =) Много! Очень часто у начинающих блоггеров бывает так, что когда они узнают информацию по чистке базы данных, то обнаруживают, что ревизии постов у них весят больше чем сами посты в 2-3 раза. =)

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

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

Ну и последнее — это pingbacks. Пинкбеки. Объясню коротко и ясно. Какой-то блоггер ведет блог, пишет статью и в ней ставит ссылку на ваш блог. Если у него в админке включена настройка — «Пытаться оповестить блоги, упоминаемые в статье» (Админка — Параметры — Обсуждение):

то в вашу базу данных занесется запись, что такой-то такой-то блог поставил на вас ссылку. Дополнительная запись — дополнительные килобайты веса в базе. Все просто! Вот иногда надо базу данных чистить от пинкбеков.

Гут! Разобрались и поняли как наша база забивается и что ее нужно ОБЯЗАТЕЛЬНО чистить. Теперь рассмотрим что чистить?

Что нужно очищать в базе данных (что мы будем чистить)?


Спам комментарии
Не нужные таблицы

Как непосредственно очистить базу MySQL (каким плагином):

Чтобы долго тут все не размусоливать, то вот посмотрите на мою базу данных:

Свою базу данных вы можете посмотреть зайдя к себе на хостинг (сервер) в phpMyAdmin и выбрать слева нужную базу. Показывать как это делается нет смысла, так как у всех хостинги разные. Но вот phpMyAdmin одинаковый. Я думаю большинство из вас знают где его найти, если нет, то напишите в поддержку вашего хостинга и попросите помощи.

Итак! Что мы видим? Вот это все таблицы моей базы данных. Что занимает всех больше места? На кб не обращайте внимания. Нас интересуют Mb.Таблицы:

wp-comments
wp-posts + wp_postmeta
wp_options
wp_blc_instances
wp_blc_links
wp_blc_synch
wp_wppage_conversion
wp_wppage_conversion_log
wp_wppage_stats

Ну как бы это меня они интересуют, так как там МБ, у вас могут быть дополнительно другие таблицы. Я же не знаю, какие вы плагины используете.

Давайте по порядку. wp_comments — в эту таблицу заносятся все комментарии блога. 23,5 мб — это нормально! У меня ведь почти 40 000 комментариев. =)

Если у вас эта таблица здоровенная, значит у вас или много комментов на блоге или много спам комментов, которые нужно удалить! Что мы с вами и сделаем. Кстати сразу зайдите в админке блога в комментарии спам и корзина и посмотрите, может там несколько тысяч комментариев надо удалить. Как мне однажды... Более 5000 удалил. =)

wp_posts + wp_ppostmeta — сюда заносятся все посты блога + их метаданные. 15 Мб — отличный размер для 400 объемных статей блога, некоторые из них аж в 30 000 символов текста, даже больше.

wp_options — здесь хранятся настройки нашего блога. Обычно размер не большой. У меня 1,5 мб и это отлично! Если у кого-то большой размер (но это редкость), то почистите плагином Optimize DB или Clean Options. На эту тему куча статей в интернете, почитайте.

Пару слов по плагину Clean Options. Хороший плагин, находит в таблице wp_options кучу ненужных данных. Вот например у меня в этой таблице есть настройки плагина Math Comment Spam Protection, который сто лет назад использовался на блоге и уже не используется. А вот настройки его в базе остались. Было бы здорово их удалить.

НО! Советую пользоваться этим плагином очень при очень осторожно! Удалять только то, что действительно не нужно!

Совет: Если у вас таблица wp_options реально не больших размеров. Ну там 1-2 мб, то в принципе не стоит ничего ковырять, а то можете так наковырять, что будет плохо! У меня 1,5 мб и я даже не буду заморачиваться. Я думаю, у вас не больше.

Дальше едем. wp_blc_instances, wp_blc_links, wp_blc_synch + wp_wppage_conversion, wp_wppage_conversion_log, wp_wppage_stats. Посмотрите на эти таблицы. Что это? А это таблицы от плагинов Broken Link Checker и Wppage, которые стоят у меня на блоге, но не используются. Точнее Broken Link Checker используется для проверки битых ссылок, а вот плагин Wppage вообще не используется никогда!

Он раньше использовался, но сейчас удален. Я его на другой домен поместил, чтобы он не создавал нагрузку на этот блог. В общем что мы видим? Плагины не используются, а таблицы забиты местом. Например таблицы от плагина Broken Link Checker можно почистить, а таблицы плагин Wppage вообще можно удалить. Что мы сейчас и сделаем.

Для начала небольшое пояснение. Чтобы понять почему можно почистить таблицы плагина Broken Link Checker, нужно . Из нее вы узнаете как работает плагин. То есть в принципе я спокойно могу очистить таблицы, мне не важны данные этого плагина. Есть плагины, таблицы которых чистить не нужно! Чищу:

Выбираем нужные нам таблицы (отмечаем галочками) и внизу выбираем — очистить. Готово! Посмотрите теперь сколько весит моя база:

Гут! Теперь удаляем ненужные таблицы от старого плагина Wppage который уже не используется:

Выбираем нужные нам таблицы (отмечаем галочками) и внизу выбираем — удалить. Готово! А теперь моя база весит:

Внимание! Аккуратно отмечайте галочками таблицы, а то можете случайно еще что-то захватить. =) Итого, я уменьшил размер базы данных на целых 16 Мб. Это не то что хорошо! Это даже супер я так скажу!

Дальше. Нужно отключить ревизии постов и удалить все имеющиеся. О том как их вообще отключить . Кстати там же я и писал про удаление ревизий mysql запросами посылаемыми в phpmyadmin. У меня например все удалилось без проблем.

А вот у кого-то базу данных накрыло! То есть что-то пошло не так. Есть такое дело, поэтому не советую вам удалять ревизии тем способом. Давайте лучше рассмотрим другой способ.

Ставим везде галочки и жмем синенькую кнопочку. Готово! Ваша база данных очищена. Ну как вы видите она у меня и так была чиста уже.

Советую после чистки отключать плагин, так же и плагины WordPress Database Backup и Clean Options. Зачем они нужны активные когда не используются? Вот потом включите через 2-3 месяца.

Как часто надо чистить базу данных?

Я рекомендую делать данную процедуру по мере того как вы засоряете базу. Вот бекапы делать нужно каждый божий день плагином WordPress Database Backup, а вот чистку на ваше усмотрение. Ну раз в 2-3 месяца желательно! Кроме чистки просто иногда следите за базой данных, за ее размером, чтобы не получилось так, что вы решили посмотреть на нее через 2 года ведения блога, а там размер 3 Гб. =)

Ну в общем на этом буду пост заканчивать, надеюсь он был для вас полезен! Если вы выполните все процедуры, которые я тут описал, то ваша база будет маленьких размеров, чистая и идеальная, благодаря этому ваш блог будет работать шустрее и пользователи будут радоваться тому, как оперативно загружаются страницы.

P.S. Кстати кто применит описанные выше процедуры, опишите как уменьшилась ваша база данных. Спасибо! Ну все! Пока!

P.P.S. Кстати в ближайшие месяцы планируется начаться запись нового обучающего видеокурса по защите и ускорению блога для новичков и не только. Курс будем писать я и еще один человек. Системный администратор, настоящий профессионал в области защиты сайтов и блогов. Не пропустите ...

С уважением, Александр Борисов

От автора: вы зачем трете ластиком монитор? Базу данных хотите удалить? Так может лезвием попробовать! Подождите, я пошутил (оказывается, неудачно)! Уберите опаску от экрана, садитесь и запоминайте, как удалить базу MySQL.

Зачем так радикально?

Удаление БД – это самое крайнее средство, но знание данной операции поможет вам сэкономить уйму времени, сил и нервов. Почему? Если вы когда-нибудь очень близко «общались» с любой из СУБД и создавали в ней различные структуры данных, то должны знать, что иногда легче просто «стереть» базу (таблицу) и пересоздать ее заново. Особенно в такие дни, когда то ли не по феншую ногу с утра поставили, то ли звезды не так расположились… В общем, в такие дни все бутерброды ложатся (падая) колбасой на землю, а девушки улыбаются не вам.

Понятно, что против звезд не попрешь, и все базы из-под вашей руки выходят какие-то «кривые». То не тот тип столбца задашь, то законнектиться нормально не получается. А с триггерами и процедурами вообще полнейший мрак! В таком случае легче просто удалить MySQL данные.

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

Программные оболочки

Начнем обзор вариантов решения проблемы с возможностей нашей любимой оболочки для администрирования MySQL. Заходим в интерфейс phpMyAdmin, слева выделяем «провинившуюся» базу. Затем в основном меню сверху переходим через пункт «Операции» и справа выбираем «Удалить базу данных (DROP)».

Иногда нужно произвести неполное удаление данных MySQL (конкретную таблицу базы). Данная программа предоставляет для этого встроенный функционал.

В списке слева снова выбираем нужную БД. Затем в списке, который отображается во вкладке «Структура» выделите таблицу и нажмите слева ссылку «Удалить». Если требуется просто стереть из таблицы все строки, но не удалять ее, то для этого воспользуйтесь ссылкой «Очистить».

Чтобы удалить определенные записи таблицы, перейдите справа по ссылке. После этого по вкладке «Обзор» (верхнее меню), выделите в таблице нужные строки и нажмите на «Удалить».

MySQL Administrator также умеет «избавляться» от ненужных данных. Чтобы удалить БД MySQL, зайдите в программу под учетной записью администратора СУБД или пользователя, наделенного привилегией на выполнение команды DROP. В меню слева нажмите пункт «Schema». Визу выделите нужную базу, кликните правой клавишей и выберите команду «Drop Schema».

Для удаления таблицы в верхнем меню (при активной вкладке «Catalogs») перейдите в раздел «Schema Tables». Нажмите по имени «неправильной» таблицы правой клавишей и выберите команду («Drop Table»).

Средства SQL

Хватит играться, давайте теперь работать как профессионалы. Рассмотрим каким образом можно удалить базу данных MySQL с помощью языка структурированных запросов. Для этого используется команда DROP DATABASE. Ее синтаксис:

DROP {DATABASE | SCHEMA} db-name

DROP { DATABASE | SCHEMA } [ IF EXISTS ] db - name

Как видите, команда не отличается особой сложностью. В качестве параметров она принимает название БД. При этом использование второго параметра не является обязательным. Указание в запросе IF EXISTS предотвращает вывод сообщения об ошибке и остановку выполнения всех остальных команд. Особенно это важно при использовании мультизапросов, разработке триггеров и хранимых процедур.

Давайте разберемся с применение данной команды MySQL на удаление базы. Для экспериментов создайте «липовую» БД через вкладку основного меню «Базы данных». Я свою так и назвал lipa. Чувство юмора является обязательным атрибутом любого успешного администратора СУБД .

Дальнейшие эксперименты я предлагаю продолжить в командной строке. Так сказать, для разнообразия. Перед тем, как полностью удалить MySQL базу, зайдите на сервер СУБД под учеткой админа (или другого юзера с глобальными правами): Z:\usr\local\mysql-5.5\bin\mysql.exe -u root

Введите следующий запрос и запустите его на выполнение:

DROP DATABASE lipa;

DROP DATABASE lipa ;

Система СУБД выведет сообщение об удачном выполнении команды и сколько времени потребовалось на это.

Теперь снова введите запрос в MySQL на удаление базы. В ответ на это сервер СУБД начнет ругаться и выдаст сообщение об ошибке, что такой БД уже не существует:

Теперь немного изменим запрос, и используем в нем условное выражение IF EXISTS. Получается, что мы говорим СУБД удалить базу с именем lipa, но лишь в том случае, если она существует.

Всем привет. Бывают случаи когда возникает необходимость удалить базу данных MySql . Почему удалить, а не редактировать? Просто по незнанию нагородили кучу таблиц, или не знаете как выявить ошибку. Проще снести и создать новую БД. Лучшим вариантом, конечно, будет произвести . В принципе, каждый уважающий себя администратор должен знать как удалить базу данных MySql.

Вход в phpMyAdmin

Рассмотрим работу с базами данных MySql в phpMyAdmin, который встроен в (это вовсе не обязательно, лучше использовать для обучения и тренировки). После установки локального сервера на компьютер появится доступ в phpMyAdmin и возможность создавать базы данных.

Войти в phpMyAdmin на локальном сервере можно перейдя по ссылке: http://localhost./Tools/phpmyadmin/index.php.

Удаление базы данных MySql

В админке слева выбираете базу которую собираетесь убрать.

В следующем окне вверху кнопка Операции . Кликаете.

И последний шаг ⇒ жмёте Удалить базу данных (DROP) .

Как удалить базу данных MySql из командной строки

БД можно стереть посредством команды в командной строке. Войдите в учетную запись на сервер БД: Z:\usr\local\mysql-5.5\bin\mysql.exe -u root.

Команда на удаление БД выглядит так: DROP DATABASE database_name,
-где database_name обозначает имя базы данных.

Например, DROP DATABASE moyblog — обозначает удалить базу данных с именем moyblog.

Жмёте Enter, чем запустите выполнение команды. Система выдаст сообщение о завершении команды и затраченном времени.

Чистка и редактирование базы данных MySql

Удаление БД является радикальным методом. Во многих случаях достаточно будет убрать конкретную таблицу, очистить строки таблицы, некоторые записи – то есть провести редактирование базы данных MySql.

Удаление таблиц в базе данных

Войдите в нужную БД. Отметьте галкой нужные таблицы и нажмите Удалить . Если надо стереть лишь строки, не удаляя таблицу — жмите Очистить .