У меня есть 1 веб-сайт, на котором много баз данных, примерно 7-8.
Должен ли я использовать одно имя пользователя и пароль для доступа ко всем базам данных, или каждая база данных имеет собственное имя пользователя и пароль?
Я бы сказал нет, и мои аргументы основаны на модели «яйца в одной корзине».
Имея только одну учетную запись, если ваша учетная запись будет взломана, вы потеряете 8 баз данных, тогда как если бы у вас был один пользователь на базу данных, у вас будет только одна база данных.
Другой аргумент состоит в том, что вы должны класть яйца в одну корзину, «предварительно убедившись, что у вас чертовски хорошая корзина». ИМО, комбинации имени пользователя и пароля MySQL не являются достаточно хорошей корзиной.
Теперь, если вы хотите привязать mysql к 127.0.0.1, чтобы никто внешний не мог подключиться, у вас будет начало лучшей политики. Конечно, я бы по-прежнему назначал разных пользователей для каждой БД. Глубокая защита.
На это нет правильного ответа.
Безопасность диктует, что вы должны использовать несколько имен пользователей и паролей, но это может значительно увеличить требуемую конфигурацию приложения.
Логика подсказывает, что если нет конкретной причины, по которой кому-то, имеющему доступ к одной базе данных, следует отказать в доступе к другой базе данных, то использование того же имени пользователя и пароля должно быть нормальным.
Однако, если вы хотите убедиться, что один пользователь, имеющий доступ к одной базе данных, НЕ имеет доступа к другой базе данных, то, конечно, вам следует использовать несколько имен пользователей и паролей.
НЕТ, вы должны использовать разные комбинации имени пользователя и пароля для каждой базы данных !!! я использую http://www.grc.com/password для генерации моих паролей БД. Прекрасно работает! Кроме того, вы должны предоставить «пользователю» максимально ограничительные разрешения, которые вы можете, и при этом он должен иметь возможность выполнять все свои задачи.
Во-первых, 7 или 8 - это не то, что большинство из нас часто рассматривает. :)
Хотя я согласен с Farseeker в том, что на самом деле нет правильного ответа, я лично предпочитаю отдельного пользователя для каждой базы данных. Это просто добавляет ощутимый слой разделения.
Поскольку обычно существует причина для наличия нескольких баз данных, вместо того, чтобы просто добавлять больше таблиц в одну базу данных, вы обнаружите, что та же логика обычно применяется к учетным записям, используемым для доступа к этим базам данных. Конечно, всегда есть исключения.
Я бы сказал абсолютно «да» и убедился, что имя пользователя и пароль известны только этому приложению и никак иначе. Любой другой, кому нужен доступ к другим базам данных, может использовать другие учетные данные с разными разрешениями.
Вы не сказали, были ли они на разных серверах или нет, но на самом деле это не имеет никакого значения.
В любом случае наличие 7-8 баз данных не должно быть проблемой, если ваши тестовые системы настроены аналогичным образом, чтобы ваши разработчики могли выпустить рабочий код.