데이터베이스 권한의 의미:
데이터베이스의 비즈니스 데이터가 승인되지 않은 사용자에 의해 불법적으로 도난당하는 것을 방지하기 위해 데이터베이스 방문자에게 다양한 제한을 가해야 합니다. 보안 통제 조치에는 다음 세 가지 유형이 포함됩니다. 첫 번째 유형의 사용자 신원 인증은 비밀번호, 자기 카드, 지문 및 기타 기술을 사용할 수 있으며 법적 신원을 가진 사람만 데이터베이스에 들어갈 수 있습니다. 두 번째 유형의 액세스 권한 제어는 역할마다 데이터베이스에 대한 액세스 권한이 다릅니다. 세 번째 유형은 데이터베이스 관리를 위한 관리 시스템을 구축하는 것입니다. 시스템은 해당 규칙과 규정을 공식화함으로써 적시에 적절한 사람이 적절하게 데이터를 운영하도록 보장할 수 있습니다.
mysql의 사용자 권한 확인은 두 단계로 나누어집니다
1. mysql 서버와 링크를 설정할 수 있는지 여부
2. as: 업데이트 선택 등)
mysql 서버는 사용자가 링크를 설정할 수 있는지 어떻게 확인하나요? 🎜>
1. 출신지 확인2. 사용자는 누구입니까mysql 접속 방법: C :UsersPC003>mysql -h192.168.6.223 -uroot -pjalja 매개변수 설명: -h: 링크를 설정할 위치 -u: 사용자 -p: 비밀번호mysql> select user,host,password from user; +------+-----------+-------------------------------------------+ | user | host | password | +------+-----------+-------------------------------------------+ | root | localhost | *CFAFE434FB0E5D64538901E668E1EACD077A54DF | | root | % | *CFAFE434FB0E5D64538901E668E1EACD077A54DF | +------+-----------+-------------------------------------------+
host=% 서버가 위치한 근거리 통신망(공용 네트워크)의 모든 호스트와 링크를 설정할 수 있음을 나타냅니다. 이 방법은 프로덕션 환경에서는 안전하지 않습니다.
host=192.168.6.224는 서버가 192.168.6.224 호스트와의 링크만 설정할 수 있음을 나타냅니다. 링크 C:UsersPC003>mysql -h192.168.6.223 -uroot -pjalja
수정 방법 호스트:
mysql> update user set host='192.168.6.223' where user ='root'
비밀번호 변경 :
mysql> update user set password=password('111111') where user='root'; mysql> flush privileges;
사용자 생성 및 승인:
'password'로 식별되는 user@'host'에게 *.*에 대한 [권한 1, 권한 2]를 부여합니다.
공통 권한: all, create, drop, insert, delete, update, select예: ls 사용자에게 모든 데이터베이스와 모든 테이블에 대한 모든 권한을 부여하고 이 LAN의 모든 호스트에서 로그인할 수 있습니다. 분절. mysql> '111111'로 식별된 'ls'@'192.168.6.%'에 *.*에 대한 모든 권한 부여;이 사용자를 사용하여 로그인: C:UsersPC003>mysql -h192 .168.6.223 -uls -p111111;ls 사용자의 특정 권한 보기:mysql> select * from mysql.user where user='ls' \G; *************************** 1. row *************************** Host: 192.168.6.% User: ls Password: *FD571203974BA9AFE270FE62151AE967ECA5E0AA Select_priv: Y Insert_priv: Y Update_priv: Y Delete_priv: Y Create_priv: Y Drop_priv: Y Reload_priv: Y Shutdown_priv: Y Process_priv: Y File_priv: Y Grant_priv: N References_priv: Y Index_priv: Y Alter_priv: Y Show_db_priv: Y Super_priv: Y Create_tmp_table_priv: Y Lock_tables_priv: Y Execute_priv: Y Repl_slave_priv: Y Repl_client_priv: Y Create_view_priv: Y Show_view_priv: Y Create_routine_priv: Y Alter_routine_priv: Y Create_user_priv: Y Event_priv: Y Trigger_priv: Y Create_tablespace_priv: Y ssl_type: ssl_cipher: x509_issuer: x509_subject: max_questions: 0 max_updates: 0 max_connections: 0 max_user_connections: 0 plugin: authentication_string: NULL
권한 복구:ls
mysql> revoke all on *.* from ls@'192.168.6.%';
라이브러리에 권한 부여:
mysql> 블로그에 모든 권한 부여* ls@'192.168 .6 .%';ls 사용자에게 블로그 데이터베이스에 대한 모든 권한을 부여합니다.
mysql> select * from mysql.db where user='ls' \G; *************************** 1. row *************************** Host: 192.168.6.% Db: blog User: ls Select_priv: Y Insert_priv: Y Update_priv: Y Delete_priv: Y Create_priv: Y Drop_priv: Y Grant_priv: N References_priv: Y Index_priv: Y Alter_priv: Y Create_tmp_table_priv: Y Lock_tables_priv: Y Create_view_priv: Y Show_view_priv: Y Create_routine_priv: Y Alter_routine_priv: Y Execute_priv: Y Event_priv: Y Trigger_priv: Y
ls의 모든 권한을 복구합니다. 사용자 및 특정 테이블에 권한 부여: 블로그 라이브러리
mysql> revoke all on *.* from ls@'192.168.6.%'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> grant insert,update,select,delete on blog.user to ls@'192.168.6.%'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
mysql> select * from mysql.tables_priv where user='ls' \G; *************************** 1. row *************************** Host: 192.168.6.% Db: blog User: ls Table_name: user Grantor: root@localhost Timestamp: 2017-02-09 14:35:38 Table_priv: Select,Insert,Update,DeleteColumn_priv:1 row in set (0.00 sec)
mysql 권한 제어 프로세스:
참고: MySQL의 권한 확인은 다음과 같이 수행될 수 있습니다. 특정 데이터 열에 대해 정확합니다.
위 내용은 mysql 학습을 위한 권한 관리 그래픽 코드 예시 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!