2012-02-15 7 views
0

Как пользователи привилегий работают на MySQL? У всех пользователей, которые используют веб-сайт социальной сети, каждый имеет уникальную привилегию пользователя для того, чтобы подключиться к БД или все пользователи используют один и тот же привилегии, такие как:Как пользователи привилегий работают на MySQL?

$dsn = 'mysql:host=localhost;dbname=social_site'; 
$username = 'members'; 
$password = 'pa55word'; 

ответ

1

Нет, вообще говоря, будет одно (или небольшое число) пользователей MySQL, а скрипт PHP (или другой код на стороне сервера) будет использовать этого одного пользователя для выполнения всей выборки и настройки данных. В некоторых сценариях полезно создавать несколько пользователей MySQL с различными уровнями разрешений в качестве добавленного уровня безопасности (поэтому общие запросы select выполняются с использованием пользователя с только select привилегиями, а inserts и updates обрабатываются отдельным пользователем с этими привилегиями). Если вы разрешаете удаленным компьютерам напрямую обращаться к базе данных MySQL (для веб-сайтов или приложений партнеров), также часто создается конкретный пользователь MySQL для этого подключения с разрешениями, ограниченными только теми, которые им нужны (например, 10 или modify), и ограничено исключительно для их IP-адреса (вы можете ограничить пользователя MySQL подключением только из одного адреса).

Суть в том, что вы должны создавать только несколько пользователей, и ваш сайт/приложение будет использовать только этот небольшой пул пользователей для выполнения всех запросов. Кроме того, хорошей практикой является доступ к базе данных с пользователем, который имеет наименьшее количество разрешений для выполнения задач (в пределах разумного ... не создавайте отдельного пользователя для всех возможных действий ... обычно 1-3 пользователя должны охватывать все уровни разрешений, которые вы хотите). Если вы создаете огромное количество пользователей, вы будете (а) замедлить работу MySQL, так как он должен получить доступ к таблице больших разрешений; (б) будет намного сложнее управлять разрешениями, если приложение изменится по дороге; и (c) больнее отлаживать проблемы с разрешениями (ваш PHP-скрипт имеет большую гибкость в том, что делать и сообщать, если есть проблема с разрешениями).

+0

Благодарим вас за подробности Ben. Это действительно полезно! – qminhdo

0

нормально у вас есть одно соединение с базой данных и хранить каждый учетных записей пользователей в таблице «Пользователи» с соответствующими именами пользователей и паролями.

+0

Я смущен. Нужно ли добавлять/создавать уникальное соединение для всех пользователей, которые используют веб-сайт, или я могу использовать только одно соединение для всех пользователей. Спасибо за ответ. – qminhdo

+0

Приложение будет обрабатывать соединения с БД. Соединение разделяется между пользователями. –

+0

Получил. Благодаря! – qminhdo

 Смежные вопросы

  • Нет связанных вопросов^_^