Нет, вообще говоря, будет одно (или небольшое число) пользователей MySQL, а скрипт PHP (или другой код на стороне сервера) будет использовать этого одного пользователя для выполнения всей выборки и настройки данных. В некоторых сценариях полезно создавать несколько пользователей MySQL с различными уровнями разрешений в качестве добавленного уровня безопасности (поэтому общие запросы select
выполняются с использованием пользователя с только select
привилегиями, а inserts
и updates
обрабатываются отдельным пользователем с этими привилегиями). Если вы разрешаете удаленным компьютерам напрямую обращаться к базе данных MySQL (для веб-сайтов или приложений партнеров), также часто создается конкретный пользователь MySQL для этого подключения с разрешениями, ограниченными только теми, которые им нужны (например, 10 или modify
), и ограничено исключительно для их IP-адреса (вы можете ограничить пользователя MySQL подключением только из одного адреса).
Суть в том, что вы должны создавать только несколько пользователей, и ваш сайт/приложение будет использовать только этот небольшой пул пользователей для выполнения всех запросов. Кроме того, хорошей практикой является доступ к базе данных с пользователем, который имеет наименьшее количество разрешений для выполнения задач (в пределах разумного ... не создавайте отдельного пользователя для всех возможных действий ... обычно 1-3 пользователя должны охватывать все уровни разрешений, которые вы хотите). Если вы создаете огромное количество пользователей, вы будете (а) замедлить работу MySQL, так как он должен получить доступ к таблице больших разрешений; (б) будет намного сложнее управлять разрешениями, если приложение изменится по дороге; и (c) больнее отлаживать проблемы с разрешениями (ваш PHP-скрипт имеет большую гибкость в том, что делать и сообщать, если есть проблема с разрешениями).
Благодарим вас за подробности Ben. Это действительно полезно! – qminhdo