데이터베이스 권한의 의미:
데이터베이스에 있는 비즈니스 데이터가 승인되지 않은 사용자에 의해 불법적으로 도난당하는 것을 방지하기 위해 데이터베이스 방문자에게 다양한 제한이 적용되어야 하며 데이터베이스 보안보안 통제 조치에는 크게 세 가지가 있습니다. 첫 번째는 사용자 신원 인증으로, 비밀번호, 자기 카드, 지문 및 기타 기술을 통해 법적 신분을 가진 사람만 들어갈 수 있습니다. 데이터 베이스. 두 번째 유형의 액세스 권한 제어입니다. 역할마다 데이터베이스 객체 에 대한 액세스 권한이 다르며, 이들이 액세스하는 권한은 역할별로 설정되어야 합니다. 세 번째 유형은 데이터베이스 관리를 위한 관리 시스템을 구축하는 것입니다. 시스템은 궁극적으로 사람들의 행동을 제한하여 데이터가 올바른 방식으로 처리되도록 보장할 수 있습니다. 적절한 시기에 사람들.
mysql사용자 권한 확인은 두 단계로 나누어집니다
1. mysql 서버와의 연결 가능 여부
2. 특정 작업 권한이 있습니다(예: 선택날짜 등)
방법 mysql 서버는 사용자가 링크를 설정할 수 있는지 확인합니다
1. 호스트가 어디인지 확인합니다
2. 사용자는 누구입니까
mysql에 연결하는 방법: C:UsersPC003>mysql -h192.168.6.223 -uroot -pjalja매개변수 설명: -h: 링크를 설정할 위치 -u: user -p: 비밀번호mysql> select user,host,password from user; +------+-----------+-------------------------------------------+ | user | host | password | +------+-----------+-------------------------------------------+ | root | localhost | *CFAFE434FB0E5D64538901E668E1EACD077A54DF | | root | % | *CFAFE434FB0E5D64538901E668E1EACD077A54DF | +------+-----------+-------------------------------------------+
host=%는 서버가 다음의 모든 호스트와 링크를 설정할 수 있음을 의미합니다. 이 방법은 환경에서 안전하지 않습니다.
호스트 수정 방법:
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> grant all on *.* to 'ls'@'192.168.6.%' identified by '111111';
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
권한 승인 특정 라이브러리의 :
mysql> blog.*에 대한 모든 권한을 ls@'192.168.6.%'에 부여합니다. ls 사용자에게 블로그 데이터베이스에 대한 모든 권한을 부여합니다. 이렇게 하면 ls 사용자는 user 테이블에 권한이 없습니다. 이때 db 수준 권한 확인이 수행됩니다.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 학습에서의 권한 관리에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!