2012-02-15 4 views
0

권한 사용자가 MySQL에서 어떻게 작동합니까? 각 주문에 고유 한 사용자 권한을 가진 소셜 네트워킹 웹 사이트를 사용하는 모든 사용자가 DB에 연결 또는 모든 사용자는 동일한 권한을 사용하십니까 : 일반적으로는 하나 개의 데이터베이스 연결이권한 사용자는 MySQL에서 어떻게 작동합니까?

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

답변

1

아니요, 일반적으로 하나 이상의 (또는 소수의) MySQL 사용자가 있으며 PHP 스크립트 (또는 다른 서버 측 코드)는이 한 명의 사용자를 사용하여 데이터를 모두 가져 와서 설정합니다. 어떤 시나리오에서는 추가 보안 수준으로 다양한 권한 수준을 가진 소수의 MySQL 사용자를 만드는 것이 좋습니다 (select 일반 사용자는 select 권한을 가지고 쿼리를 실행하고 insertsupdates은 해당 권한을 가진 별도의 사용자에 의해 처리됩니다)). 원격 컴퓨터가 MySQL 데이터베이스에 직접 액세스하도록 허용하는 경우 (파트너 웹 사이트 또는 응용 프로그램의 경우) 필요한 연결 만위한 사용 권한 (예 : drop 또는 modify 사용 권한)으로 제한된 연결로 특정 MySQL 사용자를 만드는 것이 일반적입니다. 독점적으로 그들의 IP 주소 (당신은 단 하나의 주소로부터의 연결에 MySQL 사용자를 제한 할 수 있습니다).

결론은 일반적으로 소수의 사용자 만 만들어야하며 웹 사이트/응용 프로그램은이 작은 사용자 풀만 사용하여 모든 쿼리를 수행한다는 것입니다. 또한 작업을 수행 할 수있는 권한이 가장 적은 사용자로 데이터베이스에 액세스하는 것이 좋습니다 (이유 내 ... 모든 가능한 작업에 대해 별도의 사용자를 생성하지 마십시오. 일반적으로 1-3 명의 사용자가 모든 데이터를 처리해야합니다. 사용 권한 수준). 엄청난 수의 사용자를 생성하면 (a) MySQL이 더 큰 권한 테이블에 액세스해야하므로 MySQL의 속도가 느려집니다. (b) 응용 프로그램이 변경되는 경우 사용 권한을 관리하는 것이 훨씬 더 어려울 것입니다. (c) 사용 권한 문제를 디버그하는 것이 더 고통 스럽습니다 (PHP 스크립트는 사용 권한 문제가있는 경우 수행 할 작업과보고에있어 더 융통성이 있습니다).

+0

자세한 내용 Ben을 가져 주셔서 감사합니다. 정말 도움이됩니다! – qminhdo

0

각 사용자 계정을 저장 해당 사용자 이름과 비밀번호가있는 "사용자"테이블

+0

나는 혼란 스럽다. 웹 사이트를 사용하는 모든 단일 사용자에게 고유 한 db 연결을 추가하거나 만들어야합니까, 아니면 모든 사용자에 대해 하나의 db 연결 만 사용할 수 있습니까? 대답 해줘서 고마워. – qminhdo

+0

응용 프로그램이 DB에 대한 연결을 처리합니다. 연결은 사용자간에 공유됩니다. –

+0

알았어요. 감사! – qminhdo

관련 문제