>  기사  >  데이터 베이스  >  MySQL 사용자 권한 관리 예시에 대한 자세한 설명

MySQL 사용자 권한 관리 예시에 대한 자세한 설명

怪我咯
怪我咯원래의
2017-07-05 11:17:251496검색

이 글은 주로 MySQL 사용자의 권한 관리 관련 정보를 소개합니다. 관심 있는 친구들은 참고할 수 있습니다.

사용자 권한 관리에는 주로 다음과 같은 기능이 있습니다.
1. 사용자가 접근할 수 있는 라이브러리와 라이브러리는 무엇입니까? ? 테이블
2. 사용자가 SELECT, CREATE, DELETE, DELETE, ALTER 등의 작업을 수행할 수 있는 테이블을 제한할 수 있습니다.
3. 사용자 로그인
의 IP 또는 도메인 이름을 제한할 수 있습니다. 사용자 자신의 권한을 다른 사람에게 부여할 수 있는지 여부 User

1. 사용자 권한

코드는 다음과 같습니다.

mysql> grant all privileges on *.* to 'yangxin'@'%' identified by 'yangxin123456' with grant option;

•모든 권한: 은 사용자에게 모든 권한을 부여한다는 의미입니다. SELECT, CREATE, DROP 등과 같은 특정 권한을 지정할 수도 있습니다.
•on: 은 이러한 권한이 적용되는 데이터베이스 및 테이블을 나타냅니다. 형식: 데이터베이스 테이블 이름, 여기에 "*"를 쓰면 모든 데이터베이스와 모든 테이블을 나타냅니다. 테스트 라이브러리의 사용자 테이블에 적용할 권한을 지정하려면 다음과 같이 작성할 수 있습니다. test.user
•to: 어떤 사용자에게 권한을 부여합니다. 형식: "사용자 이름"@"로그인 IP 또는 도메인 이름". %는 제한이 없으며 모든 호스트에서 로그인할 수 있음을 의미합니다. 예: "yangxin"@"192.168.0.%"는 사용자 yangxin이 192.168.0 IP 범위
에만 로그인할 수 있음을 의미합니다. •식별자: 사용자의 로그인 비밀번호를 지정하세요
•허가 있음 옵션: 사용자가 다른사용자에게 권한을 부여할 수 있음을 나타냅니다.

GRANT를 사용하여 사용자에게 권한을 추가할 수 있으며 이전에 부여된 권한을 덮어쓰지 않습니다. 사용자에게 SELECT 권한을 추가한 다음 나중에 해당 사용자에게 부여합니다. INSERT 권한이 추가되면 사용자는 SELECT 및 INSERT 권한을 모두 갖게 됩니다.

사용자 세부 정보의 권한 목록은 MySQL 공식 웹사이트 지침을 참조하세요: http://dev.mysql.com/doc/refman/5.7/en/privileges-provided.html


2. 권한 새로 고침

사용자의 권한을 변경한 후에는 권한을 다시 로드하고 메모리의 권한 정보를 데이터베이스에 써야 합니다.

mysql> 플러시 권한;

3. 사용자 권한 보기

코드는 다음과 같습니다.

mysql> grant select,create,drop,update,alter on *.* to 'yangxin'@'localhost' identified by 'yangxin0917' with grant option;
mysql> show grants for 'yangxin'@'localhost';

yangxin 사용자의 생성 권한을 삭제합니다. 는 사용자는 데이터베이스 생성

및 테이블을 생성할 수 없습니다.

mysql> revoke create on *.* from 'yangxin@localhost';
mysql> flush privileges;
5. 사용자 삭제

mysql> select host,user from user;
+---------------+---------+
| host   | user |
+---------------+---------+
| %    | root |
| %    | test3 |
| %    | yx  |
| 192.168.0.% | root |
| 192.168.0.% | test2 |
| 192.168.0.109 | test |
| ::1   | yangxin |
| localhost  | yangxin |
+---------------+---------+
8 rows in set (0.00 sec)
mysql> drop user 'yangxin'@'localhost';
6. 사용자 이름 바꾸기

shell> 사용자 이름을 'test1'@'%'로 변경하세요.

7.

1> mysql.user 테이블 업데이트

mysql> use mysql;
# mysql5.7之前
mysql> update user set password=password('123456') where user='root';
# mysql5.7之后
mysql> update user set authentication_string=password('123456') where user='root';
mysql> flush privileges;
2> 비밀번호 설정 명령 사용

구문: 'username'@'login address'=password('password ')

mysql> 'root'@'localhost'=password('123456');

3> mysqladmin

구문: mysqladmin -u 사용자 이름 -p 이전 비밀번호 비밀번호 새 비밀번호

mysql> mysqladmin -uroot -p123456 비밀번호 1234abcd

참고: mysqladmin은 mysql

설치

디렉터리의 bin 디렉터리에 있습니다. 8. 비밀번호를 잊어버렸습니다

1> 로그인 추가 권한 확인 구성 건너뛰기

my.cnf 수정, mysqld 구성 노드에 Skip-grant-tables 구성 추가

[mysqld]

skip-grant-tables


2> service

shell> service mysqld restart

3> 비밀번호 변경

이때 터미널에서 mysql 명령어로 로그인 시에는 사용자 비밀번호가 필요하지 않으며, 이에 따라 비밀번호를 변경하세요. 비밀번호를 변경하는 첫 번째 방법입니다.

4> 로그인 권한 복원 및 구성 확인 건너뛰기

my.cnf에서 mysqld 노드의 Skip-grant-tables 구성을 삭제한 후 서비스를 다시 시작합니다.

위 내용은 MySQL 사용자 권한 관리 예시에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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