내가 아는 한, MySQL 및 MariaDB 데이터베이스의 "ROOT" 계정은 운영 체제의 "루트" 계정과 완전히 별개입니다. 누군가 모호한 이름을 만드는 것이 좋은 생각이라고 생각한 이유는 무엇입니까? 서로 다른 실체라는 것이 맞나요?
답변1
운영 체제는 사용자 및 그룹과 같은 엔터티를 이름으로 식별하지 않습니다. 이는 Unix 계열 운영 체제에서는 UID, Windows에서는 SID라고 하는 숫자 또는 영숫자 ID로 식별되며 /etc/passwd
LDAP 데이터베이스(또는 인증에 사용되는 모든 방법)에서 가져옵니다.
root
또는 MySQL이나 MariaDB의 경우 운영 체제의 수퍼유저가 root
완전히 다릅니다. 두 번째는 MySQL 또는 MariaDB에서만 작동하며 이 방법으로만 식별할 수 있습니다. 이는 이라는 로컬 또는 LDAP 사용자 cygni
와 이라는 MySQL 사용자 가 있는 경우와 다르지 않습니다 cygni
. 두 번째는 사용자 정보를 담고 있는 데이터베이스와 테이블이 존재하는 RDBMS에만 존재하기 때문에 운영체제는 전혀 알지 못한다. 이 방법을 시도하는 것을 권장하지는 않지만 로컬 또는 LDAP 사용자에게 MySQL 데이터 디렉터리에 대한 읽기 액세스 권한을 부여할 수 있습니다. 하지만 그렇지 않으면 해당 사용자를 사용하여 MySQL 인스턴스에 로그인할 수 없거나 작업을 수행할 수 없습니다. 데이터베이스 인스턴스의 작업이 존재하지 않거나 해당 작업을 수행할 수 있는 권한이 없습니다. 일부 RDBMS는 LDAP 또는 시스템 인증을 통해 인증하도록 설정할 수 있지만 직접 액세스가 없고 비밀번호 등을 모르기 때문에 여전히 모든 작업을 수행할 수 있습니다. 그렇게 말하면 둘이 서로 다른 개체라는 것이 맞습니다.