Linux PHP가 MySQL에 연결할 수 있는 권한이 부족한 경우 해결 방법: 1. grant 명령을 사용하여 일반 데이터 사용자에게 쿼리, 삽입 및 기타 권한을 부여합니다. 2. grant를 통해 데이터베이스 개발자에게 테이블 및 인덱스를 생성할 수 있는 권한을 부여합니다.
이 기사의 운영 환경: linux5.9.8 시스템, PHP 버전 7.1, DELL G3 컴퓨터
Linux php에 mysql에 연결할 수 있는 권한이 부족한 경우 어떻게 해야 합니까?
Linux PHP에는 MySQL에 연결할 권한이 부족합니다. MySQL 세부 권한 분할:
MySQL은 선택, 삽입, 업데이트, 삭제 등 하나 이상의 권한을 주로 사용자에게 부여할 수 있습니다. 명령, 사용법 형식은
grant 权限 on 数据库对象 to 用户
1. 일반 데이터 사용자에게 데이터베이스의 모든 테이블 데이터를 쿼리, 삽입, 업데이트 및 삭제할 수 있는 권한을 부여합니다.
grant select on testdb.* to common_user@’%’ grant insert on testdb.* to common_user@’%’ grant update on testdb.* to common_user@’%’ grant delete on testdb.* to common_user@’%’
또는 대신 mysql 명령을 사용합니다:
grant select, insert, update, delete on testdb.* to common_user@’%’
2. 데이터베이스 개발자에게 권한을 부여하고 테이블, 인덱스, 뷰, 저장 프로시저, 함수를 생성합니다. . . etc. Permissions
grant 创建、修改、删除 mysql 数据表结构权限。 grant create on testdb.* to developer@’192.168.0.%’; grant alter on testdb.* to developer@’192.168.0.%’; grant drop on testdb.* to developer@’192.168.0.%’; grant 操作 mysql 外键权限。 grant references on testdb.* to developer@’192.168.0.%’; grant 操作 mysql 临时表权限。 grant create temporary tables on testdb.* to developer@’192.168.0.%’; grant 操作 mysql 索引权限。 grant index on testdb.* to developer@’192.168.0.%’; grant 操作 mysql 视图、查看视图源代码 权限。 grant create view on testdb.* to developer@’192.168.0.%’; grant show view on testdb.* to developer@’192.168.0.%’; grant 操作 mysql 存储过程、函数 权限。 grant create routine on testdb.* to developer@’192.168.0.%’; - now, can show procedure status grant alter routine on testdb.* to developer@’192.168.0.%’; - now, you can drop a procedure grant execute on testdb.* to developer@’192.168.0.%’;
3. 특정 mysql 데이터베이스를 관리하기 위한 일반 DBA 권한을 부여합니다.
grant all privileges on testdb to dba@’localhost’
그 중 "privileges" 키워드는 생략 가능합니다.
4. Grant 수석 DBA는 mysql
grant all on *.* to dba@’localhost’
5의 모든 데이터베이스를 관리할 수 있는 권한을 가집니다. MySQL 부여 권한은 여러 수준에서 적용될 수 있습니다
1. Grant는 전체 mysql 서버에서 작동합니다.
grant select on *.* to dba@localhost; - dba 可以查询 mysql 中所有数据库中的表。 grant all on *.* to dba@localhost; - dba 可以管理 mysql 中的所有数据库
2. 단일 데이터베이스:
grant select on testdb.* to dba@localhost; - dba 可以查询 testdb 中的表。
3. Grant는 단일 데이터 테이블에서 작동합니다:
grant select, insert, update, delete on testdb.orders to dba@localhost;
4. Grant는 테이블의 열에서 작동합니다:
grant select(id, se, rank) on testdb.apache_log to dba@localhost;
5. Grant는 저장 프로시저 및 함수에서 작동합니다:
grant execute on procedure testdb.pr_add to ’dba’@’localhost’ grant execute on function testdb.fn_add to ’dba’@’localhost’
6, mysql 사용자 보기 권한
현재 사용자(자신) 권한 보기:
show grants;
다른 mysql 사용자 권한 보기:
show grants for dba@localhost;
7. mysql 사용자 권한에 부여된 권한을 취소합니다.
revoke는 부여하는 구문과 유사하며, 키워드 "to"와 "from":
grant all on *.* to dba@localhost; revoke all on *.* from dba@localhost;
8. mysql 사용자 권한 부여 및 취소에 대한 참고 사항
1 사용자 권한을 부여한 후 권한을 적용하려면 사용자가 mysql 데이터베이스에 다시 연결해야 합니다.
2. 승인된 사용자가 다른 사용자에게 이러한 권한을 부여하려면 "grant option" 옵션이 필요합니다.
grant select on testdb.* to dba@localhost with grant option;
이 기능은 일반적으로 사용되지 않습니다. 실제로 데이터베이스 권한은 DBA가 균일하게 관리하는 것이 가장 좋습니다.
참고: 권한을 수정한 후 서비스를 새로 고치거나 서비스를 다시 시작해야 합니다
권장 학습: "PHP 비디오 튜토리얼"
위 내용은 Linux PHP에 mysql에 연결할 수 있는 권한이 충분하지 않은 경우 수행할 작업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!