Как работают привилегированные пользователи на MySQL? - PullRequest
0 голосов
/ 16 февраля 2012

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

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

Ответы [ 2 ]

1 голос
/ 16 февраля 2012

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

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

0 голосов
/ 16 февраля 2012

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

...