У меня должен быть один экземпляр MySQL для всех наших приложений или один экземпляр для каждого?

Для Windows Vista/7 действительно необходимо взглянуть в Microsoft Deployment Toolkit. Это может также помочь с Windows XP, хотя существенные улучшения предложения Vista/7 в развертывании.

1
задан 17 September 2010 в 00:37
8 ответов

Знание ничего иного, более простого всегда лучше. Один экземпляр.

5
ответ дан 3 December 2019 в 16:16

Согласитесь с другими - один экземпляр mysql, но:

  • отдельные базы данных для каждого приложения
  • разделите пользователя/пароль для каждого приложения

Это сделает намного более простым мигрировать позже. Однако используйте innodb, а не c-isam как Ваш механизм устройства хранения данных - последние (IIRC) все еще только обрабатывают один запрос во время.

Когда действительно необходимо обновить до нескольких серверов, затем я рекомендовал бы использовать основную основную репликацию так, чтобы каждый узел все еще служил всем базам данных вместо того, чтобы разделить ее, пока Вы не добираетесь приблизительно до 4 узлов, затем начните делить на основе базы данных.

3
ответ дан 3 December 2019 в 16:16

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

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

1
ответ дан 3 December 2019 в 16:16

После того как экземпляр лучше потому что:

  • можно использовать все имеющиеся ресурсы (поршень и дисковое пространство)
  • mysql может присвоить ресурсы в случае необходимости
  • кэширование сможет использовать максимум объем памяти (никакие устаревшие кэши)
  • единственное место для управления
  • легче поддержать
1
ответ дан 3 December 2019 в 16:16

Один экземпляр на высокопроизводительной машине, быстрый дисковый массив (возможно, SSD, сеть LACP) и создать отдельные БД и логин для каждого приложения.

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

.
1
ответ дан 3 December 2019 в 16:16

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

Кроме того, вы можете использовать только одну mysqld версию. Может быть, одной из ваших баз данных нужна другая версия

.
0
ответ дан 3 December 2019 в 16:16

Хочу поделиться противоположное мнение о том, что рекомендует большинство ответов здесь.

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

Для резервного копирования, если вы используете xtrabackup, очень легко создавать резервные копии отдельных баз данных, если вы запускаете один экземпляр для каждой базы данных. Вы всегда можете mysqldump отдельные базы данных, но восстановление из mysqldump не так быстро, как восстановление из резервной копии, сделанной с помощью xtrabackup.

3
ответ дан 27 May 2020 в 10:46

Я хотел бы использовать более одного экземпляра mysql, По мере роста проектов для разных баз данных могут потребоваться разные конфигурации. Конечно, вы можете мигрировать в новые экземпляры в любое время, но наличие более одного экземпляра может иметь следующие плюсы

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

Тем не менее, я согласен с людьми, которые считают, что использование одного экземпляра было бы более эффективным. Конечно, для небольших проектов это было бы лучшим решением, но по мере роста проекта каждая из его баз данных начнет показывать разные характеристики, что приведет к использованию разных экземпляров mysql.

0
ответ дан 3 June 2020 в 12:36

Теги

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