>  기사  >  데이터 베이스  >  MySQL Advanced Seventeen - MySQL 계정 권한 부여

MySQL Advanced Seventeen - MySQL 계정 권한 부여

黄舟
黄舟원래의
2016-12-29 17:03:141529검색

1. 기능 및 의미

mysql 권한 시스템은 주로 데이터베이스에 연결된 사용자의 권한을 확인하여 사용자가 합법적인 사용자인지 여부를 확인하는 데 사용됩니다. 귀하가 합법적인 사용자라면 해당 데이터베이스 권한이 부여됩니다.

2. 현재 데이터베이스의 사용자 보기

mysql> select host,user,password from user;
+-----------+------+-------------------------------------------+
| host      | user | password                                  |
+-----------+------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| 127.0.0.1 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+-----------+------+-------------------------------------------+
2 rows in set (0.04 sec)

3. MySQL 권한 적용

1. GRANT 명령 사용 방법

먼저 예를 보고 로컬 로그인만 허용하고 다른 사용자에게 권한을 부여할 수 있는 슈퍼 사용자 테스트를 만듭니다. 비밀번호는 123456

GRANT ALL PRIVILEGES ON *.* TO test@'localhost' IDENTIFIED BY 'test@feihong.111' WITH GRANT OPTION;

GRANT 명령 설명:

ALL PRIVILEGES는 모든 권한을 의미하며 선택, 업데이트 및 기타 권한에 언급된 권한을 사용할 수도 있습니다.

ON은 권한 대상 라이브러리와 테이블을 지정하는 데 사용됩니다.

*.* 앞의 *는 데이터베이스 이름을 지정하는 데 사용되고, 뒤의 *는 테이블 이름을 지정하는 데 사용됩니다.

TO는 사용자에게 권한을 부여하는 것을 의미합니다.

test@'localhost'는 feihong 사용자를 의미하고, @ 뒤에는 IP, IP 세그먼트, 도메인 이름이 될 수 있는 제한된 호스트가 오고 %, %는 어디든 의미합니다. 참고: 여기의 일부 버전에는 로컬이 포함되어 있지 않습니다. 이전에는 사용자가 어디에서나 로그인할 수 있도록 설정했지만 이 문제가 발생하면 로컬 호스트 사용자를 추가하세요. 그것.

IDENTIFIED BY는 사용자의 로그인 비밀번호를 지정합니다.

WITH GRANT OPTION 이 옵션은 사용자가 자신의 권한을 다른 사람에게 부여할 수 있음을 나타냅니다. 참고: 운영 사용자를 생성할 때 WITH GRANT OPTION을 지정하지 않아 사용자가 GRANT 명령을 사용하여 사용자를 생성하거나 다른 사용자에게 권한을 부여할 수 없는 경우가 많습니다.

참고: GRANT를 사용하여 사용자에게 권한을 반복적으로 추가할 수 있으며, 예를 들어 먼저 사용자에게 선택 권한을 추가한 다음 사용자에게 삽입 권한을 추가하면 그러면 사용자는 선택 및 삽입 권한을 모두 갖게 됩니다.

2. 사용자 권한 확인

show grants for 'root'@'localhost'

3. 사용자 삭제

사용자를 삭제하려면 사용자 이름뿐만 아니라 해당 사용자도 삭제해야 합니다. 사용자가 가지고 있는 권한입니다.

DELETE를 사용해 사용자를 삭제해도 해당 사용자의 권한은 삭제되지 않으며, 같은 이름의 새로운 사용자가 생성되면 이전 권한이 상속되므로 DELETE를 사용하여 사용자를 직접 삭제하지 않도록 주의하세요. 올바른 방법은 DROP USER 명령을 사용하여 사용자를 삭제하는 것입니다. 예를 들어 'webuser'@'192.168.100.%' 사용자를 삭제하려면 다음 명령을 사용합니다.

drop user 'user'@'192.168.100.%';  
drop user 'user'@'%'

4. 계정 비밀번호 변경

set 비밀번호 for 'account name'@'%'=password('new 비밀번호');

위는 MySQL Advanced Seventeen - MySQL 계정 권한의 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 주목해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.