MySQL 사용자는 사용자 MySQL 계정에 대한 로그인 정보, 계정 권한, 호스트 정보가 포함된 MySQL 서버의 테이블입니다. 데이터베이스에 액세스하고 관리하려면 MySQL에서 사용자를 생성하는 것이 중요합니다.
MySQL Create User 문을 사용하면 데이터베이스 서버에 새 사용자 계정을 생성할 수 있습니다. 새 계정에 대한 인증, SSL/TLS, 리소스 제한, 역할 및 비밀번호 관리 속성을 제공합니다. 또한 처음에 잠그거나 잠금 해제해야 하는 계정을 제어할 수도 있습니다.
사용자 생성을 사용하려면 글로벌 Create User 문의 권한 또는 끼워 넣다 MySQL 시스템 스키마에 대한 권한입니다. 이미 존재하는 사용자를 생성하면 오류가 발생합니다. 하지만 사용해보면, 존재하지 않는 경우 절을 사용하면 명령문은 오류 메시지 대신 이미 존재하는 각 명명된 사용자에 대해 경고를 제공합니다.
사용자가 MySQL 서버에서 요구한 이유는 무엇입니까?
MySQL 서버 설치가 완료되면 뿌리 데이터베이스에 액세스하고 관리할 수 있는 사용자 계정입니다. 그러나 때로는 다른 사람에게 모든 권한을 부여하지 않고 데이터베이스 액세스 권한을 부여하고 싶을 수도 있습니다. 이 경우 루트가 아닌 사용자를 생성하고 해당 사용자에게 데이터베이스에 액세스하고 수정할 수 있는 특정 권한을 부여합니다.
통사론
데이터베이스 서버에서 사용자를 생성하려면 다음 구문을 사용합니다.
CREATE USER [IF NOT EXISTS] account_name IDENTIFIED BY 'password';
위 구문에서, 계정_이름 두 부분으로 구성되어 있습니다. 하나는 사용자 이름 , 또 다른 하나는 호스트 이름 로 구분됩니다. @ 상징. 여기서, 사용자 이름은 사용자의 이름이고, 호스트 이름은 사용자가 데이터베이스 서버에 접속할 수 있는 호스트의 이름이다.
username@hostname
호스트 이름은 선택 사항입니다. 호스트 이름을 제공하지 않은 경우 사용자는 서버의 모든 호스트에서 연결할 수 있습니다. 호스트 이름이 없는 사용자 계정 이름은 다음과 같이 작성할 수 있습니다.
username@%
참고: 사용자 생성은 전체 액세스 권한이 있는 새 사용자를 생성합니다. 따라서 사용자에게 권한을 부여하려면 GRANT 문을 사용해야 합니다.
MySQL CREATE USER 예
다음은 MySQL 서버 데이터베이스에 새로운 사용자를 생성하는 데 필요한 단계입니다.
1 단계: 다음을 사용하여 MySQL 서버를 엽니다. MySQL 클라이언트 도구 .
2 단계: 계정의 비밀번호를 입력하고 Enter를 누르십시오.
Enter Password: ********
3단계: 현재 MySQL 서버의 모든 사용자를 표시하려면 다음 명령을 실행하십시오.
mysql> select user from mysql.user;
우리는 아래와 같은 출력을 얻게 될 것입니다:
4단계: 다음 명령을 사용하여 새 사용자를 만듭니다.
mysql> create user peter@localhost identified by 'jtp12345';
이제 명령을 실행하여 모든 사용자를 다시 표시하십시오.
위 출력에서 사용자가 베드로 성공적으로 생성되었습니다.
5단계: 이제 CREATE USER 문과 함께 IF NOT EXISTS 절을 사용하겠습니다.
mysql> CREATE USER IF NOT EXISTS adam@localhost IDENTIFIED BY 'jtp123456';
MySQL 새 사용자에게 권한 부여
MySQL 서버는 새로운 사용자 계정에 다양한 유형의 권한을 제공합니다. 가장 일반적으로 사용되는 권한 중 일부는 다음과 같습니다.
새로 생성된 사용자에게 모든 권한을 부여하려면 다음 명령을 실행합니다.
mysql> GRANT ALL PRIVILEGES ON * . * TO peter@localhost;
새로 생성된 사용자에게 특정 권한을 부여하려면 다음 명령을 실행합니다.
mysql> GRANT CREATE, SELECT, INSERT ON * . * TO peter@localhost;
때로는 당신이 원할 때도 있습니다. 플러시 변경에 대한 사용자 계정의 모든 권한이 즉시 발생하는 경우 다음 명령을 입력하십시오.
FLUSH PRIVILEGES;
사용자의 기존 권한을 보려면 다음 명령을 실행하십시오.
mysql> SHOW GRANTS for username;