MySQL 사용자 관리. MySQL 명령줄에서 작업 중입니다. 생성된 사용자의 기능 제어

이 기사에서는 MySQL에서 해당 사용자에 대한 새로운 사용자 권한 및 권한을 생성하는 방법을 설명합니다. MySQL은 사용자와 애플리케이션이 데이터를 저장, 구성 및 검색할 수 있는 오픈 소스 관계형 데이터베이스 관리 시스템(DBMS)입니다. 여기에는 사용자가 테이블과 데이터베이스에 대해 가질 수 있는 권한으로 구성된 액세스 제어 시스템이 있습니다. 이 가이드의 뒷부분에서 설명하는 이 액세스 제어 시스템에 대한 몇 가지 옵션을 살펴보겠습니다.

로그인부터 시작해볼까요

MySQL 시스템에 로그인하려면 다음 명령을 사용합니다.

# mysql -u 루트 -p

이 명령을 실행하면 MySQL 클라이언트에 슈퍼유저로 로그인하고 사용자의 비밀번호를 제공한다고 알립니다.

새 사용자 만들기

이제 MySQL 서버 내부에 있으므로 다음 쿼리를 사용하여 새 사용자를 생성하도록 MySQL에 지시할 수 있습니다.

"password"로 식별되는 "new_user"@"localhost" 사용자 생성;

조언 : 항상 모든 계정에 강력한 비밀번호를 사용하세요. 당신은 할 수 있습니다.

이 명령의 또 다른 흥미로운 점은 사용자가 원격으로 로그인하도록 하려는 경우 방금 생성한 새 사용자의 호스트 이름이 다른 호스트 이름이나 IP 주소가 될 수 있다는 것입니다.
예로서:

"password"로 식별되는 "new_user"@"10.20.30.111" 사용자 생성;

새로운 사용자에게 MySQL 서버의 모든 데이터베이스에서 데이터를 읽을 수 있도록 액세스 권한을 부여한다고 가정해 보겠습니다. 다음 명령을 입력하여 이를 수행합니다.

*.*에 대한 선택 권한 부여: "new_user"@"localhost";

위 쿼리를 실행할 때, 우리는 새로운 사용자에게 SELECT 명령을 사용하여 MySQL 서버의 데이터베이스에서 읽을 수 있는 권한을 부여하도록 MySQL에 지시하고 이를 위해 SELECT 키워드를 사용했습니다. GRANT SELECT는 사용자가 주어진 데이터베이스에서 데이터를 읽을 수 있는 권한 외에는 아무 것도 갖지 않을 것임을 MySQL에 알려줍니다. 권한은 일반적으로 다음 형식으로 부여됩니다.

승인하다 .

에게" "@"";

또한 GRANT 키워드를 REVOKE로 바꾸고 TO 키워드를 FROM으로 바꾸면 위와 동일한 형식으로 사용자로부터 특정 권한을 빼앗도록 MySQL에 지시할 수 있습니다.

취소 .

에서" "@"";

메모:

위 쿼리에서 데이터베이스 및 테이블 위치에 사용하는 별표는 마스크이며 위치에 따라 모든 데이터베이스 또는 테이블과 일치합니다.

새로 설정된 권한을 적용하려면 모든 권한을 재설정해야 합니다.

플러시 권한;

사용자에게 다른 유형의 권한 부여

이전 섹션에서는 SELECT 키워드를 사용하여 사용자에게 읽기 권한을 부여하는 방법을 살펴보았습니다. 이 섹션에서는 사용자에게 다양한 유형의 권한을 설정할 수 있는 다른 키워드를 살펴보겠습니다.

  • USAGE – 사용자에게 MySQL 서버에 로그인할 수 있는 액세스 권한을 부여합니다(새 사용자를 생성할 때 기본적으로 설정됨).
  • SELECT – 사용자에게 select 명령을 사용하여 테이블에서 데이터를 검색할 수 있는 권한을 부여합니다.
  • INSERT – 테이블에 새 행을 추가할 수 있는 권한을 부여합니다.
  • UPDATE – 사용자에게 테이블의 기존 행을 변경할 수 있는 권한을 부여합니다.
  • DELETE – 사용자에게 테이블에서 기존 행을 삭제할 수 있는 권한을 부여합니다.
  • CREATE – 사용자에게 새 테이블이나 데이터베이스를 생성할 수 있는 권한을 부여합니다.
  • DROP – 사용자에게 기존 테이블이나 데이터베이스를 삭제할 수 있는 권한을 부여합니다.
  • 모든 권한 – 사용자에게 데이터베이스 또는 전체 시스템에 대한 무제한 액세스 권한을 부여합니다(데이터베이스 위치에 별표 사용).
  • GRANT OPTION – 사용자에게 다른 사용자의 권한을 부여하거나 제거할 수 있는 권한을 부여합니다.

사용자 삭제는 DROP 명령을 사용하여 데이터베이스나 테이블과 동일한 방식으로 수행됩니다.

사용자 삭제 "new_user"@"localhost";

마지막으로 새 사용자를 테스트하고 다음 명령을 입력하여 현재 활성 세션을 종료할 수 있습니다.

그런 다음 명령줄에 다음 명령을 입력하여 다시 로그인합니다.

MySQL -u new_user -p

메모:

new_user를 필요한 사용자 이름으로 바꾸는 것을 잊지 마세요.

이제 MySQL에서 자신만의 사용자를 생성하고 적절한 권한을 부여했습니다.

저자로부터:특권에 좀 더 주의하시길 권합니다. 자신의 아파트에 대한 관리자 권한을 갖고 있는 내 친구 중 한 명이 아내에게 냉장고 접근을 제한하는 '특권'을 주었습니다. 그 결과 지금 두달째 다이어트를 하고 있고 야채만 먹고 있어요. 따라서 MySQL에 사용자를 추가하기 전에도 신중하게 생각하십시오!

우리가 신뢰하는 사람들!

하지만 세상에는 여전히 믿을 수 있는 사람들이 있습니다. 물론 이것은 아내 나 시어머니가 아닙니다. 오늘은 MySQL에 계정을 추가하고 특정 권한을 부여하는 방법을 알아 보겠습니다.

이는 명령줄과 셸 프로그램을 통해 수행할 수 있습니다. 먼저 쉬운 옵션을 살펴 보겠습니다. phpMyAdmin을 사용하여 새 사용자를 추가해 보겠습니다. 하지만 먼저 DBMS에 구현된 계정 시스템을 잠깐 살펴보겠습니다.

루트 계정을 가진 사용자는 계층 구조의 최상위에 있습니다. 처음에 이 계정은 빈 비밀번호로 제공됩니다. 관리자(루트)는 MySQL에 사용자를 추가하고 해당 사용자에게 특정 권한을 부여할 수 있으며 권한을 취소할 수도 있습니다.

권한 시스템은 DBMS 서버뿐만 아니라 데이터베이스 수준에서도 구현됩니다. 사용자에게 특정 데이터베이스에 대한 액세스 권한을 부여하고 "스토리지"를 사용하여 특정 작업만 수행하도록 허용할 수도 있습니다. 예를 들어 데이터 삽입, 삭제 및 업데이트를 금지하지만 테이블에서 선택하는 것은 허용합니다. 하지만 이 모든 것은 실제로 배우기가 더 쉽기 때문에 시작해 보겠습니다.

phpMyAdmin을 통해 계정 추가

애플리케이션을 열고 상단의 "사용자" 탭으로 이동합니다. 그러면 계정 개요 테이블이 표시됩니다. 여기에는 서버 인스턴스에 존재하는 모든 계정과 해당 권한 요약이 나열됩니다.

새 계정을 추가하려면 표 아래에 있는 "사용자 추가" 링크를 클릭해야 합니다. 그러면 응용 프로그램 시스템에 특별한 "사용자 추가" 대화 상자가 표시됩니다.

맨 위 섹션(“계정 정보”)에서 새 사용자 이름을 설정하고 비밀번호를 설정하고 확인해야 합니다. 필드에 자동으로 삽입되는 임의의 비밀번호 값을 얻을 수도 있습니다. 이렇게 하려면 "생성" 버튼을 클릭하세요.

조금 아래로 스크롤하면 생성 중인 사용자에게 할당할 수 있는 전역 권한을 편집할 수 있습니다. 그림은 모든 권한이 "데이터", "구조" 및 "관리" 등 여러 범주로 구분되어 있음을 보여줍니다. MySQL에 사용자를 추가하기 전에 해당 내용을 읽고 필요한 확인란을 선택하십시오.

계정을 생성하려면 대화 상자 하단에 있는 “사용자 추가” 버튼을 클릭하세요. 이제 우리 행동의 결과를 살펴 보겠습니다. 계정 개요 표로 돌아가서 내용을 검토하세요. 보시다시피, 우리가 지정한 이름으로 서버에 새 계정이 생성되었습니다.

새 데이터베이스 사용자 추가

phpMyAdmin을 통해 역할을 전역적으로 관리할 수 있을 뿐만 아니라 개별 데이터베이스 수준에서도 관리할 수 있습니다. MySQL의 데이터베이스에 사용자를 추가하려면 왼쪽 목록에서 필요한 사용자를 선택하십시오. 그런 다음 "권한" 메뉴 항목으로 이동하면 이 데이터베이스에 액세스할 수 있는 모든 사용자가 테이블에 표시됩니다. 새 데이터베이스 계정을 생성하려면 조금 아래(표 아래)에 있는 "사용자 추가" 링크를 클릭하세요.

그러면 친숙한 "사용자 추가" 대화 상자가 나타납니다. 이전 예와 같이 모든 필드를 채웁니다. leha2에게 세계 기반에 대한 글로벌 권한을 부여합시다. 그가 이 세계에서 원하는 것을 하게 해주세요. 그리고 하단의 '사용자 추가'를 클릭하세요.

생성된 사용자의 기능 제어

우리가 만든 최신 "Lech"가 무엇을 할 수 있는지 알아 보겠습니다. 명령줄로 이동해 보겠습니다. 서버에 로그인하고 사용자가 MySQL에 추가된 데이터베이스에서 선택합니다: Z:\usr\local\mysql-5.5\bin\mysql.exe -u leha2 -p123

이제 이 계정(leha2)을 사용하여 다른 데이터베이스에 들어가서 선택해 보겠습니다. 예를 들어 다음 데이터베이스에서:

SELECT * FROM `db1`.`동물`;

SELECT * FROM ` db1 ` . '동물';

그러나 MySQL에서 얻은 응답은 "무작위"입니다. 사용된 계정은 월드 데이터베이스에 대한 권한만 갖고 있기 때문입니다.

그러나 이것이 권한 관리 기능의 전부는 아닙니다. MySQL에 대한 보기 전용 권한을 가진 사용자를 추가할 수 있습니다. 이렇게 하려면 기존 계정의 권리 표를 편집하거나 새 계정을 만드십시오.

다시 "권한" 탭으로 이동합니다. 사용자 테이블에서 필요한 계정 옆에 있는 '권한 편집'을 클릭하세요. 그러면 나타나는 대화상자에서 선택을 제외한 모든 권한을 꺼주세요. 따라서 사용자는 SQL SELECT 명령을 사용하여 테이블을 보거나 선택할 수만 있습니다.

콘솔을 통해 사용자 생성

콘솔을 통해 MySQL에 사용자를 추가하는 방법을 알아 보겠습니다. 이를 위해서는 관리자 권한으로 데이터베이스 서버에 로그인해야 합니다. 그런 다음 CREATE 명령을 사용하여 새 사용자를 생성하고 해당 사용자에게 비밀번호를 제공합니다.

"12345"로 식별된 "verter"@"localhost" 사용자 생성;

사용자 생성 "verter" @ "localhost" "12345"로 식별됨 ;

이제 소프트웨어 셸로 돌아가서 우리가 만든 "로봇"이 "계정 개요" 테이블에 나타나는지 확인해 보겠습니다.

보시다시피 verter는 우리 MySQL 서버의 사용자가 되었습니다. 하지만 그에게는 (다른 로봇과 마찬가지로) 권리가 전혀 없습니다. 이는 우리의 "철" 형제들과 관련하여 비윤리적이므로 우리는 그에게 모든 기지에 대한 모든 특권을 제공할 것입니다. 예를 들어, 세계.

데이터베이스는 모든 웹 프로젝트의 중요한 구성 요소이므로 관리 방법을 아는 것이 중요합니다. MySQL 데이터베이스로 작업할 때 가장 먼저 해야 할 일은 사용자를 추가하는 것입니다. 이 작업은 다양한 방법으로 수행할 수 있으며 아래에서 가장 널리 사용되는 두 가지 방법인 콘솔과 phpMyAdmin을 사용하는 방법을 알아봅니다.

구매하신 경우 보호 기능이 있는 웹사이트 호스팅 DDoS 및 바이러스로부터 MySQL 사용자를 관리하기 위한 편리한 패널도 제공됩니다.

콘솔에서 MySQL 사용자를 추가하는 방법

이는 데이터베이스에 새 사용자를 추가하는 가장 쉬운 방법입니다. 장점과 단점은 무엇입니까?

콘솔 작업의 단점은 MySQL 명령을 알아야 한다는 것입니다. 왜냐하면 이것이 없으면 아무것도 할 수 없기 때문입니다. 다행히도 이 문제는 언뜻 보이는 것만큼 심각하지 않습니다. 필요한 명령을 배우거나 참고서를 편리하게 보관할 수 있습니다.

이 방법의 장점은 SSH 연결과 명령줄만 사용하여 MySQL 데이터베이스에 루트 권한이 있는 사용자를 추가할 수 있다는 것입니다. 이는 데이터베이스를 완벽하게 사용하기 위해 추가 소프트웨어를 설치할 필요가 없음을 의미합니다. 또한 이 경우 데이터베이스 작업 속도가 훨씬 빠르기 때문에 콘솔을 사용하면 시간을 절약할 수 있습니다.

새로운 MySQL 사용자를 추가하고 그에게 필요한 권한을 할당하려면 다음 단계를 따르십시오.

  • 콘솔에 mysql –uNAME –pPASSWORD 명령을 입력합니다.
    이 경우 NAME 대신 기존 사용자의 이름을 입력하고 PASSWORD 대신 해당 사용자의 비밀번호를 입력해야 합니다.
  • 원하는 데이터베이스를 선택하세요
    이렇게 하려면 USE db_name 명령을 입력해야 합니다. 여기서 db_name은 원하는 데이터베이스의 이름입니다. MySQL 데이터베이스를 선택하기 전에 먼저 추가해야 하는 경우 CREATE DATABASE db_name 명령을 사용합니다. 여기서 db_name은 새 데이터베이스의 이름입니다.
  • 선택한 데이터베이스에 새 사용자를 생성합니다.
    이렇게 하려면 CREATE USER "user_name"@"localhost" IDENTIFIED BY "password" 명령을 사용하십시오. 여기서 "user_name"은 사용자 이름이고 "password"는 사용자의 비밀번호입니다.
  • 새 사용자에게 루트 권한 부여
    이것이 필요한 경우 GRANT ALL PRIVILEGES ON db_name.* TO "user_name"@'localhost'; 명령을 사용하십시오. 여기서 db_name은 원하는 데이터베이스의 이름이고 "user_name"은 사용자 이름입니다. 이후 모든 권한은 FLUSH PRIVILEGES 명령으로 저장됩니다.

필요한 데이터베이스에 새 사용자가 생성되었습니다!

phpMyAdmin을 사용하여 MySQL 데이터베이스에 사용자를 추가하는 방법

두 번째 옵션은 phpMyAdmin 그래픽 인터페이스를 사용하므로 구현하기가 더 쉽습니다. 이 방법의 장점은 사용하는 프로그램이 초보자라도 간단하고 이해하기 쉽다는 점입니다. 불행히도 단점도 있습니다. 콘솔을 사용할 때보 다 작업 속도가 느립니다. 그리고 phpMyAdmin 자체는 모든 서버에 설치되지 않습니다.

phpMyAdmin에 MySQL 사용자를 추가하려면 다음 단계를 따르세요.

  1. GUI를 엽니다.
  2. 사용자를 추가하려는 데이터베이스를 선택합니다.
  3. "권한" 탭으로 이동합니다.
  4. "새 사용자 추가" 버튼을 클릭하여 새 사용자를 생성합니다.
  5. 필수 사용자 정보(이름 및 비밀번호)를 입력합니다.
  6. 새 사용자에 대한 데이터베이스를 선택하고 "전역 권한"에서 "모두 선택"을 선택합니다.
  7. 선택 사항을 확인하면 사용자가 생성됩니다.

이제 MySQL 데이터베이스에 사용자를 추가하는 방법을 알았습니다. 보시다시피, 이 프로세스의 본질을 이해하면 이에 대해 복잡한 것이 없습니다. 그러나 RigWEB 호스팅에서 사이트 데이터베이스 작업에 대해 여전히 질문이 있는 경우 언제든지 기술 지원 전문가에게 문의할 수 있습니다. 전문 호스팅을 사용하고 즐겁게 웹 프로젝트를 개발해 보세요!



질문이 있으신가요?

오타 신고

편집자에게 전송될 텍스트: