MySQL 시리즈 의 6 사용자 및 권한 부여
10083 단어 mysql사용자권한 을 부여 하 다
MySQL 시리즈 의 시작 MySQL 관계 형 데이터베이스 기초 개념
MySQL 시리즈 중 하나 인 MariaDB-server 설치
MySQL 시리즈 의 두 번 째 인 스 턴 스 설정
MySQL 시리즈 의 3 가지 기초 편
MySQL 시리즈 의 4 SQL 문법
MySQL 시리즈 의 다섯 가지 보기,저장 함수,저장 과정,트리거
MySQL 시리즈 7 MySQL 저장 엔진
MySQL 시리즈 8 MySQL 서버 변수
MySQL 시리즈 의 9 my sql 캐 시 및 색인 조회
MySQL 시리즈 의 10 MySQL 사무 격 리 병행 제어 실현
MySQL 시리즈 의 11 로그 기록
MySQL 시리즈 의 12 백업 및 복구
MySQL 시리즈 13 MySQL 복사
MySQL 시리즈 의 14 MySQL 의 높 은 사용 가능 한 구현
MySQL 시리즈 의 15 MySQL 상용 설정 및 성능 압력 테스트
사용자 관리
1.사용자 계 정
사용자 의 계 정 은 사용자 이름과 HOST 두 부분 으로 구성 되 어 있 습 니 다('USERNAME'@'HOST').
HOST 의 표현:
호스트 이름
구체 적 IP 주소
네트워크/마스크
마스크 를 사용 하여'%와'를 표시 할 수 있 습 니 다.192.168%는 이 네트워크 의 모든 호스트 를 나타 낸다.
2、계 정 삭제 증가
주요:데이터베이스 에서 사용자 정 보 를 수정 하여 FLUSH PRIVILEGES 를 실행 해 야 합 니 다.권한 수여 표를 갱신 하여 효력 을 발생 시 킵 니 다.
창설
MariaDB [mysql]> CREATE USER 'user1'@'192.168.%';
MariaDB [mysql]> CREATE USER 'user2'@'192.168.%' IDENTIFIED BY 'your_password';
MariaDB [mysql]> SELECT user,host,password FROM user;
+-------+-----------+-------------------------------------------+
| user | host | password |
+-------+-----------+-------------------------------------------+
| root | localhost | *4A54C3F37C03C7FBACE31591D6A8C546F93DF5C5 |
| root | centos7 | |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
| | centos7 | |
| user1 | 192.168.% | |
| user2 | 192.168.% | *9E72259BA9214F692A85B240647C4D95B0F2E08B |
+-------+-----------+-------------------------------------------+
삭제
MariaDB [mysql]> DROP USER user2@'192.168.%';
MariaDB [mysql]> SELECT user,host,password FROM user;
+-------+-----------+-------------------------------------------+
| user | host | password |
+-------+-----------+-------------------------------------------+
| root | localhost | *4A54C3F37C03C7FBACE31591D6A8C546F93DF5C5 |
| root | centos7 | |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
| | centos7 | |
| user1 | 192.168.% | |
+-------+-----------+-------------------------------------------+
이름 바 꾸 기
MariaDB [mysql]> RENAME USER user1@'192.168.%' TO testuser@'%';
MariaDB [mysql]> SELECT user,host,password FROM mysql.user;
+----------+-----------+-------------------------------------------+
| user | host | password |
+----------+-----------+-------------------------------------------+
| root | localhost | *4A54C3F37C03C7FBACE31591D6A8C546F93DF5C5 |
| root | centos7 | |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
| | centos7 | |
| testuser | % | |
+----------+-----------+-------------------------------------------+
비밀번호 수정
MariaDB [mysql]> SET PASSWORD FOR testuser@'%' =PASSWORD('testpass');
MariaDB [mysql]> SELECT user,host,password FROM mysql.user;
+----------+-----------+-------------------------------------------+
| user | host | password |
+----------+-----------+-------------------------------------------+
| root | localhost | *4A54C3F37C03C7FBACE31591D6A8C546F93DF5C5 |
| root | centos7 | |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
| | centos7 | |
| testuser | % | *00E247AC5F9AF26AE0194B41E1E769DEE1429A29 |
+----------+-----------+-------------------------------------------+
다른 비밀번호 변경 방법:
UPDATE user SET password=PASSWORD('testpass') WHERE user='testuser';
# mysqladmin -uroot -poldpass password 'newpass'
3.관리 계 정 비밀번호 해제빈 데이터베이스 상태 에서 비밀번호 복구
# systemctl stop mariadb
# rm -rf /var/lib/mysql/* #
# systemctl start mariadb
데이터 가 있 는 상태 에서 암 호 를 복구 합 니 다.1)/etc/my.cnf 설정 파일 의[mydqld]에 skip-grant-tables 와 skip-networking 파 라미 터 를 추가 합 니 다.
2)\#systemctl mariadb 재 시작 서비스
3)mysql 을 실행 하여 데이터베이스 에 로그 인
4)MariaDB [(none)]> UPDATE mysql.user SET password=PASSWORD('newpassword') WHERE user='root' AND host='localhost'; #비밀번호 업데이트
5)MariaDB [(none)]> FLUSH PRIVILEGES; #수권 표 새로 고침
6)설정 파일 을 종료 하고 수정 하 며 skip-grant-tables 와 skip-networking 인 자 를 삭제 하고 서 비 스 를 다시 시작 합 니 다.
mysqld 프로 세 스 를 시작 할 때 다음 옵션 을 사용 할 수도 있 습 니 다.
--skip-grant-tables
--skip-networking
2.권한 수여 관리
1.권한 부여
문법:GRANT privtype ON [object_type] priv_level TO user@'%' [IDENTIFIED BY 'password'] [WITH GRANT OPTION];
권한 을 부여 할 때 사용자 가 존재 하지 않 으 면 만 듭 니 다.따라서 저 희 는 사용 자 를 따로 만 들 지 않 고 권한 을 부여 하여 완성 합 니 다.
priv_type 권한 부여 형식
- SELECT
- INSERT
- UPDATE
- DELETE
- CREATE
- DROP
- INDEX
- ALTER
- SHOW DATABASES
- CREATE TEMPORARY TABLES
- LOCK TABLES
- CREATE VIEW
- SHOW VIEW
- CREATE USER
-모든 개인 정보 혹은 모든
object_type 권한 부여 대상
- TABLE
- FUNCTION
- PROCEDURE
priv_level 권한 부여 단계
-*또는*.
- db_name.*지정 한 라 이브 러 리 의 모든 표를 표시 합 니 다.
- db_name.tbl_name 지정 라 이브 러 리 의 지정 표
- tbl_현재 라 이브 러 리 표
- db_name.routine_name 은 지정 한 라 이브 러 리 의 함수,저장 과정,트리거 를 표시 합 니 다.
WITH GRANT OPTION
- MAX_QUERIES_PER_HOUR count
- MAX_UPDATES_PER_HOUR count
- MAX_CONNECTIONS_PER_HOUR count
- MAX_USER_CONNECTIONS count
MariaDB [school]> GRANT SELECT(stuid,name) ON TABLE school.students TO admin@'%' IDENTIFIED BY 'admin'; # students stuid name admin@'%'
MariaDB [school]> FLUSH PRIVILEGES; #
2.조회 권한 부여
MariaDB [school]> SHOW GRANTS FOR admin@'%'\G #
*************************** 1. row ***************************
Grants for admin@%: GRANT USAGE ON *.* TO 'admin'@'%' IDENTIFIED BY PASSWORD '*4ACFE3202A5FF5CF467898FC58AAB1D615029441'
*************************** 2. row ***************************
Grants for admin@%: GRANT SELECT (stuid, name) ON `school`.`students` TO 'admin'@'%'
[root@working ~]# mysql -uadmin -padmin -h192.168.0.7
MariaDB [(none)]> SHOW GRANTS FOR CURRENT_USER()\G #
*************************** 1. row ***************************
Grants for admin@%: GRANT USAGE ON *.* TO 'admin'@'%' IDENTIFIED BY PASSWORD '*4ACFE3202A5FF5CF467898FC58AAB1D615029441'
*************************** 2. row ***************************
Grants for admin@%: GRANT SELECT (stuid, name) ON `school`.`students` TO 'admin'@'%'
3.권한 회수
MariaDB [school]> REVOKE SELECT(stuid) ON school.students FROM admin@'%'; # admin@'%' stuid
총결산여기 서 MySQL 사용자 와 권한 수여 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 MySQL 사용자 와 권한 수여 내용 은 저희 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 십시오.앞으로 저 희 를 많이 응원 해 주 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MySQL에서 JSON 인덱싱 - aarondfrancis사람들은 종종 MySQL로 JSON을 인덱싱할 수 없다고 말하지만 완전히 정확하지는 않습니다. MySQL로 JSON 열을 인덱싱하는 것은 완전히 가능합니다! 사람들은 종종 MySQL로 JSON을 인덱싱할 수 없다고 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.