Кластеризация базы данных mysql — проблемы с подключением sql узла (туздо) к другим узлам

другие

Сфинкс

Сфинкс — полнотекстовая поисковая система, которая может использоваться для гораздо большего, чем тестовые поиски. Для многих запросов это намного быстрее, чем MySQL (особенно для группировки и сортировки), и может запрашивать удаленные системы параллельно и агрегировать результаты — что делает его очень полезным в использовании с sharding.

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

Очистка базы данных WordPress (в phpMyAdmin)

Вся инфа и настройки сайта хранятся в базе данных, поэтому редактировать определенные элементы можно непосредственно в ней. Но:

В отличии от работы в админке у вас не будет шанса для восстановления информации за счет определенных функций, ревизий постов и т.п.
Вариант подойдет только продвинутым пользователям, которые ориентируются в вопросе и понимают, что делает тот или иной SQL запрос.
Можно случайно «повредить» сериализованные данные, как например при переносе WordPress на другой домен важно выполнять замену настроек через плагины, а не в БД.

Если вышеперечисленное вас не пугает, то давайте разберем как быстро и легко очистить базу данных WordPress. Выполняется процедура через phpMyAdmin, который есть во всех хостингах.

Обязательно(!) в начале создайте бекап. Далее:

  1. В phpMyAdmin открываете нужную вам БД.
  2. На странице отобразится список всех ее таблиц. Сразу под ним ставите галочку в пункте «Check all» (Отметить все») и открываете всплывающее меню справа.
  3. По удалению инфы имеется 2 опции: Empty — очистить содержимое, Drop — удалить таблицу целиком. Вам нужен первый вариант.

  1. Сразу после выбора «Empty» вас переадресует на следующую страницу, где увидите сформированный SQL запрос для очистки базы данных в WordPress — остается лишь его подтвердить.

Здесь важно помнить — вся информация удаляется навсегда, поэтому делайте бекап! 

Создание кластеров MySQL и резервное копирование

Необходимо чётко понимать, что кластерирование БД MySQL не устраняет нужды в бэкапе (резервном копировании) БД MySQL. Кластеры хороши для повышения доступности и производительности, но не способны напрямую противостоять таким угрозам, как человеческие ошибки, вирусы или проблемы MySQL

Если ваше приложение включает оператор DROP DATABASE, не существует пути для восстановления удалённого содержимого БД – неважно, сколько узлов хранения имеет при этом ваш кластер. Чтобы узнать больше о бэкапе MySQL, пожалуйста, прочтите соответствующую статью

Версия 8.1.2 от 21 февраля 2020. 106 MBПрограмма резервного копирования Handy Backup.
9200 RUB за лицензию

Handy Backup Office Expert

Издание Office Expert позволяет производить бэкап и восстановление MySQL без остановки работы базы. Весь функционал доступен бесплатно в течение 30 дней!

Следующая важная вещь, которую следует знать о резервном копировании MySQL, заключается в том, что некоторые реализации СУБД MySQL плохо работают с конкурирующими процессами чтения и записи. Это значит, что при активной работе вашей СУБД на запись резервное копирование может производиться в течение слишком длительного времени. Обычно эта проблема преодолевается с помощью репликации MySQL, после которой один из компьютеров (master) работает на запись, а связанный с ним компьютер для доступа к данным (slave) – на чтение.

Однако столь же прекрасные результаты даёт комбинация кластерирования и бэкапа. Кластеры MySQL используют систему хранения данных Network DataBase (NDB), являющуюся загружаемым в память приложением для распределённого хранения и доступа. Каждая запись, попадающая в NDB, автоматически копируется в узлы хранения. Система автоматически распределяет данные между различными узлами, поэтому в сильно загруженных записью данных сценариях работы одни узлы могут тотчас же начинать работать на бэкап, в то время как другие продолжают принимать данные. Эта схема обычно чуть медленнее, чем схема доступа, основанная на репликации баз данных, но значительно быстрее прямого доступа к единственному серверу MySQL. Чтобы найти инструкции по созданию кластеров MySQL, пожалуйста, обратитесь к официальному руководству по MySQL.

Просуммируем вкратце преимущества кластерного подхода к организации БД MySQL:

  1. Создание кластеров MySQL – надёжный подход к увеличению доступности данных.
  2. Механизм хранения данных Network DataBase (NDB), используемый в MySQL, даёт прекрасные результаты по скорости и оптимизации работы.
  3. Механизмы распределения нагрузки ввода-вывода эффективно оптимизируют работу сетевых приложений и приложений с большими потоками входящих данных.
  4. Кластер поддерживает практически бесконечные возможности горизонтального масштабирования, что позволяет избежать проблем с “узкими местами” системы (процессор, скорость обмена с диском, объём памяти и т.п.)

И недостатки такого подхода:

  1. Создание кластеров требует синхронной репликации узлов, что обычно требует их расположения в общем физическом пространстве и наличия широкополосной связи между ними.
  2. Механизм хранения данных Network DataBase (NDB) требует огромного количества оперативной памяти. Рекомендуется, чтобы каждый узел хранения имел так много памяти, как только возможно.
  3. Кластеры MySQL относительно трудны в установке и администрировании.

Использование среды SQL Server Management StudioUsing SQL Server Management Studio

Удаление базы данныхTo delete a database

  1. В обозревателе объектовподключитесь к экземпляру компонента Компонент SQL Server Database EngineSQL Server Database Engineи разверните его.In Object Explorer, connect to an instance of the Компонент SQL Server Database EngineSQL Server Database Engine, and then expand that instance.

  2. Разверните Базы данных, щелкните правой кнопкой мыши удаляемую базу данных и затем нажмите кнопку Удалить.Expand Databases, right-click the database to delete, and then click Delete.

  3. Подтвердите, что выбрана верная база данных, а затем нажмите кнопку ОК.Confirm the correct database is selected, and then click OK.

Перед началомBefore You Begin

Предварительные требованияPrerequisites

  • Удалите все моментальные снимки базы данных, которые существуют для базы.Delete any database snapshots that exist on the database. Дополнительные сведения см. в разделе Удаление моментального снимка базы данных (Transact-SQL).For more information, see Drop a Database Snapshot (Transact-SQL).

  • Если база данных участвует в доставке журналов, удалите доставку журналов.If the database is involved in log shipping, remove log shipping.

  • Если база данных публикуется для репликации транзакций, опубликована или подписана на репликацию слиянием, удалите репликацию из базы данных.If the database is published for transactional replication, or published or subscribed to merge replication, remove replication from the database.

РекомендацииRecommendations

Учтите возможность полного резервного копирования базы данных.Consider taking a full backup of the database. Удаленную базу данных можно восстановить только с помощью резервной копии.A deleted database can be re-created only by restoring a backup.

PermissionsPermissions

Для выполнения инструкции DROP DATABASE пользователь должен, как минимум, иметь разрешение CONTROL на базу данных.To execute DROP DATABASE, at a minimum, a user must have CONTROL permission on the database.

14 ответов

51

После успешного входа в cPanel, рядом со значком появляется еще один значок ; нажмите на это.

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

В столбце действий вы можете найти опцию нажмите на нее, чтобы удалить вашу базу данных!

ответ дан psanjib 13 февр. 2014 г., 14:58:19
источник

79

На phpMyAdmin 4.1.9 :

ответ дан Mars Robertson 4 июн. 2014 г., 14:55:41
источник

15

  1. Перейти на домашнюю страницу phpmyadmin.
  2. Нажмите на «Базы данных».
  3. Выберите базу данных, которую вы хотите удалить. (поставить галочку)
  4. Нажмите Drop.

ответ дан user3642940 3 июн. 2015 г., 16:44:08
источник

4

Взяв очередь из ответа Майкла выше, я не смог найти команду DROP Database на моей консоли в .

Очевидно, я пропустил настройку. Перейдите в файл в папке и добавьте следующее:

Сохраните и перезапустите локальный сервер, и команда появится внутри консоли.

ответ дан codegasm 1 мая 2015 г., 21:18:24
источник

3

Вы можете удалить базу данных в Cpanel.

В Cpanel зайдите в базы данных и там вы увидите все созданные базы данных и можете удалить эту базу данных.

или другой способ на живом сервере, если у пользователя есть права, вы можете запустить команду на вкладке sql phpmyadmin.

ответ дан Jason W 13 февр. 2014 г., 14:46:25
источник

3

имя_базы_данных -> Операции -> Удалить базу данных -> нажать на базу данных (DROP)

ответ дан Vayodya Tamari 7 мар. 2016 г., 9:26:24
источник

2

Вы можете следить за загруженными изображениями

Затем выберите базу данных, которую вы хотите удалить

ответ дан sami ullah 14 дек. 2017 г., 7:18:21
источник

1

На вкладке «Операции» базы данных найдите (и щелкните) текст « .

ответ дан Isaac Bennetch 16 февр. 2014 г., 21:03:42
источник

1

выберите базу данных на левой стороне. Затем в правом верхнем углу вы можете найти Операции. В этом для удаления базы данных (DROP). Это все.

ответ дан S K padala 17 февр. 2015 г., 9:20:24
источник

1

Параметр удаления / удаления в операциях отсутствует в моей версии.

Перейдите в CPanel -> MySQLDatabase (значок рядом с PhPMyAdmin) -> установите флажок БД для удаления -> удалить.

ответ дан user2060451 25 сент. 2016 г., 21:51:25
источник

1. Подключитесь к вашему локальному хосту. 2. Откройте ваш любимый браузер. 3. убедитесь, что ваш localhost работает. 4. введите в URL = локальный. 5. прокрутите вниз, нажмите на phpadmin 6. как только phpadmin открыт. 7. Нажмите на базу данных. 8. Отметьте галочкой базу данных, которую хотите удалить. 9. Нажмите на падение. Базу данных следует удалить. Если это не работает, 10. щелкните по базе данных, 11. перейдите к операции. 12. щелкните по базе данных. • должен отображаться красным текстом •.

ответ дан Edgardasun 30 янв. 2016 г., 21:01:09
источник

Перейдите на вкладку операций для выбранной базы данных и нажмите «Удалить базу данных (DROP)», чтобы удалить ее.

ответ дан Bilal 21 мар. 2018 г., 13:10:53
источник

Если вы хотите удалить свою базу данных из phpmyAdmin или mySQl. Просто зайдите в команду SQL и напишите команду «drop DATABASE databasename;»

Пример:

Затем нажмите кнопку «Перейти». Ваша база данных будет удалена, и вы получите такую информацию

ответ дан Avinash Kumar Singh 12 июл. 2018 г., 21:34:44
источник

Есть два способа удаления базы данных

  1. Запустите этот запрос SQL -> DROP DATABASE имя_базы_данных
  2. Нажмите имя_базы_данных -> Операции -> Удалить базу данных

ответ дан umutekici 20 июл. 2018 г., 11:12:25
источник

Пример с модификатором LIMIT

Давайте рассмотрим пример MySQL DELETE, в котором мы используем модификатор LIMIT для управления количеством удаленных записей. Например:

MySQL

DELETE FROM contacts
WHERE last_name = ‘Markoski’
ORDER BY contact_id DESC
LIMIT 1;

1
2
3
4

DELETEFROMcontacts

WHERElast_name=’Markoski’

ORDER BYcontact_idDESC

LIMIT1;

В этом MySQL примере DELETE удалит одну запись из таблицы contacts (как указано в LIMIT 1), где last_name — ‘Markoski’. DELETE сортируется в порядке убывания contact_id, поэтому только запись с наибольшим contact_id, чье имя last_name ‘Markoski’ будет удалено из таблицы. Все остальные записи в таблице contacts с last_name = ‘Markoski’ останутся в таблице.

Если вы хотите вместо этого удалить наименьший contact_id, чье last_name является ‘Markoski’, вы можете переписать оператор DELETE следующим образом:

MySQL

DELETE FROM contacts
WHERE last_name = ‘Markoski’
ORDER BY contact_id ASC
LIMIT 1;

1
2
3
4

DELETEFROMcontacts

WHERElast_name=’Markoski’

ORDER BYcontact_idASC

LIMIT1;

Или вы можете удалить последнюю запись в таблице contacts со следующим оператором DELETE (при условии, что contact_id является порядковым номером):

MySQL

DELETE FROM contacts
ORDER BY contact_id DESC
LIMIT 1;

1
2
3

DELETEFROMcontacts

ORDER BYcontact_idDESC

LIMIT1;

Как создать кластер MySQL

Консоль управления
CLI

  1. В консоли управления выберите каталог, в котором нужно создать кластер БД.

  2. Выберите сервис Managed Service for MySQL.

  3. Нажмите кнопку Создать кластер.

  4. Введите имя кластера в поле Имя кластера. Имя кластера должно быть уникальным в Облаке.

  5. Выберите окружение, в котором нужно создать кластер (после создания кластера окружение изменить невозможно):

    • production — для стабильных версий ваших приложений.
    • prestable — для тестирования, в том числе самого сервиса Managed Service for MySQL. Prestable-окружение обновляется чаще, из-за чего в нем раньше исправляются уже известные проблемы, но могут происходить обратно несовместимые изменения.
  6. Выберите версию СУБД.

  7. Выберите класс хостов — он определяет технические характеристики виртуальных машин, на которых будут развернуты хосты БД. Все доступные варианты перечислены в разделе Классы хостов. При изменении класса хостов для кластера меняются характеристики всех уже созданных хостов.

  8. В блоке Размер хранилища:

    • Выберите тип хранилища — более гибкое сетевое (network-hdd или network-ssd) или более быстрое локальное SSD-хранилище (local-ssd). Размер локального хранилища можно менять только с шагом 100 ГБ.
    • Выберите объем, который будет использоваться для данных и резервных копий. Подробнее о том, как занимают пространство резервные копии, см. раздел Резервные копии.
  9. В блоке База данных укажите атрибуты БД:

    • Имя базы данных. Имя БД должно быть уникальным в рамках каталога и содержать только латинские буквы, цифры и подчеркивания.
    • Имя пользователя — владельца БД. Имя пользователя должно содержать только латинские буквы, цифры и подчеркивания.
    • Пароль пользователя, от 8 до 128 символов.
  10. В блоке Хосты выберите параметры хостов БД, создаваемых вместе с кластером (помните, что используя SSD-диски при создании MySQL-кластера можно задать не меньше 3 хостов). Открыв блок Расширенные настройки, вы можете выбрать конкретные подсети для каждого хоста — по умолчанию каждый хост создается в отдельной подсети.

  11. Нажмите кнопку Создать кластер.

Если у вас еще нет интерфейса командной строки Яндекс.Облака, .

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра или .

Чтобы создать кластер:

  1. Проверьте, есть ли в каталоге подсети для хостов кластера:

    Если ни одной подсети в каталоге нет, создайте нужные подсети в сервисе VPC.

  2. Посмотрите описание команды CLI для создания кластера:

  3. Укажите параметры кластера в команде создания:

    Идентификатор подсети необходимо указывать, если в выбранной зоне доступности создано 2 и больше подсетей.

Sharding и partioning

Sharding обычно используется для масштабирования решений баз данных. Разделить данные в осколки поменьше и разбросаны по разным узлам сервера. Это требует, чтобы приложение знало о модификации хранилища данных для эффективной работы, так как оно должно знать, где найти необходимую ему информацию.

существуют фреймворки абстракции, которые помогут справиться с шардингом данных, например Hibernate Осколки, расширение для спящего режима ORM (который, к сожалению, находится в Java. Я использую PHP). HiveDB еще одно такое решение который также поддерживает балансировку осколков.

6 ответов

20

Вы не указали, какой дистрибутив вы используете, но если они установили его через yum на дистрибутиве RedHat, вы можете удалить с помощью:

Если они установили его в своем собственном пространстве пользователя, вы просто удалите двоичные файлы, на которых запущен сервер. Если на Debian /Ubuntu вы используете упомянутый метод sparks. Я также также использовал бы:

6

Все зависит от того, как оригинальный пользователь установил пакет. Если они использовали встроенное управление пакетами операционной системы, это должно быть так же просто, как линия yum в ответе Dave или в системе на базе Debian (включая Ubuntu), вы можете использовать:

(В качестве альтернативы используйте удаление, а не удаление, если вы также хотите удалить настраиваемые файлы конфигурации)

Если вы не знаете точное имя пакета для удаления на Ubuntu:

Если этот пользователь не использовал инструмент управления пакетами, единственное реальное решение — просто убедиться, что сервер не загружается при запуске (chkconfig или update-rc.d — это два удобных инструмента для этого — проверьте их страницы руководства) и вручную удалите все установленные файлы.

2

Если пользователь установил какие-либо базы данных, возможно, потребуется их удалить. В базовой установке пакета MySQL файлы таблиц можно найти в . Если они находятся в другом месте, вы можете просто искать файлы таблиц. Они будут иметь расширение и должны содержаться в каталоге с именем после базы данных, с которой они связаны.

1

В зависимости от вашего дистрибутива у вас должна быть возможность отключить его с помощью сценария инициализации в «/etc/init.d/mysql stop». Если это не удается, вы можете убить процессы с чем-то похожим на «for i in ; do ; done «

Это будет действительно зависеть от того, как они установили его для того, как вы его удалили. Если вы используете дистрибутив на основе debian: «sudo apt-get remove mysqld»

В комментарии к Zoredache вы также можете: «sudo apt-get purge mysqld», который также удалит файлы конфигурации.

Может быть, сам пользователь не знает, что он установил mysql. Это может случиться, если mysql является зависимостью от какой-либо другой программы. Посмотрите файл журнала менеджера пакетов, например: для проверки redhat /var/log/yum.log. Вы, вероятно, найдете еще несколько пакетов, установленных одновременно. Затем вы можете сделать вывод о том, что пользователь хотел сделать, и, возможно, вы также захотите удалить некоторые другие пакеты, чтобы вы не знали об установке!

В недавнем redhat вы можете, например, запустить «список истории yum», после того как вы нашли дату установки в /var/log/yum.log, вы можете определить, какая операция yum была связана с установкой mysql, и вы можете, например, «yum history info operation_number», чтобы получить подробную информацию об установке, или «yum history undo operation_number», чтобы вернуть операцию и удалить связанные пакеты.

Может быть, сам пользователь не знает, что он установил mysql. Это может случиться, если mysql является зависимостью от какой-либо другой программы. Посмотрите на файл журнала менеджера пакетов, например: для проверки redhat . Вы, вероятно, найдете еще несколько пакетов, установленных одновременно. Затем вы можете сделать вывод о том, что пользователь хотел сделать, и, возможно, вы также захотите удалить некоторые другие пакеты, чтобы вы не знали об установке!

кластеризации

кластеризация в общем смысле распределяет нагрузку по многим серверам, которые кажутся внешнему приложению одним сервером.

MySQL в НДБ кластера

MySQL NDB кластер является распределенным, в памяти, shared-nothing storage engine с синхронной репликацией и автоматическим разделением данных (извините, я заимствую буквально из книги с высокой производительностью, но они там очень красиво). Это может быть высокопроизводительное решение для некоторых приложений, но веб-приложение обычно не работает хорошо на нем.

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

кроме того, требование к памяти не работает для многих больших баз данных.

Continuent Sequoia

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

Я читал некоторые хорошие вещи на нем, и в целом это звучит довольно многообещающе.

Федерации

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

Ссылка на основную публикацию