Home  >  Article  >  Backend Development  >  What to do if linux php has insufficient permission to connect to mysql

What to do if linux php has insufficient permission to connect to mysql

藏色散人
藏色散人Original
2021-10-26 10:01:192425browse

Linux PHP has insufficient permissions to connect to MySQL: 1. Grant query, insert and other permissions to ordinary data users by using the grant command; 2. Grant permissions to create tables and indexes to database developers through grant. .

What to do if linux php has insufficient permission to connect to mysql

##The operating environment of this article: linux5.9.8 system, PHP version 7.1, DELL G3 computer

What should I do if linux php has insufficient permission to connect to mysql?

Linux php has insufficient permissions to connect to mysql. Mysql fine-grained permissions division:

mysql can grant you a user such as select, insert, update, delete, etc. One or more of the permissions mainly use the grant command. The usage format is:

grant 权限 on 数据库对象 to 用户

1. Grant ordinary data users have the right to query, insert, update, and delete all table data in the database

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@’%’

Or, use a mysql command instead:

grant select, insert, update, delete on testdb.* to common_user@’%’

2. Grant database developer, create tables, indexes, views, stored procedures, and functions. . . Waiting for 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. Grant ordinary DBA permissions to manage a certain mysql database

grant all privileges on testdb to dba@’localhost’

Among them, the keyword "privileges" can be omitted.

4. Grant senior dba manages the permissions of all databases in mysql

grant all on *.* to dba@’localhost’

5. Mysql grant permissions can be used at multiple levels

1. Grant works on On the entire mysql server:

grant select on *.* to dba@localhost; - dba 可以查询 mysql 中所有数据库中的表。
grant all on *.* to dba@localhost; - dba 可以管理 mysql 中的所有数据库

2. Grant acts on a single database:

grant select on testdb.* to dba@localhost; - dba 可以查询 testdb 中的表。

3. Grant acts on a single data table:

grant select, insert, update, delete on testdb.orders to dba@localhost;

4. Grant acts on On the columns in the table:

grant select(id, se, rank) on testdb.apache_log to dba@localhost;

5. Grant works on stored procedures and functions:

grant execute on procedure testdb.pr_add to ’dba’@’localhost’
grant execute on function testdb.fn_add to ’dba’@’localhost’

6. View mysql user permissions

View the current user (own) permissions :

show grants;

View other mysql user permissions:

show grants for dba@localhost;

7. Revoke permissions that have been granted to mysql user permissions

revoke has similar syntax to grant, you only need to add the keyword Just replace "to" with "from":

grant all on *.* to dba@localhost;
revoke all on *.* from dba@localhost;

8. Notes on mysql grant and revoke user permissions

1. After grant, revoke user permissions, the user can only reconnect to the mysql database , the permission can take effect.

2. If you want authorized users to grant these permissions to other users, you need the option "grant option"

grant select on testdb.* to dba@localhost with grant option;

This feature is generally not used. In practice, database permissions are best managed uniformly by the DBA.

Note: After modifying the permissions, you must refresh the service or restart the service

Recommended study: "

PHP Video Tutorial"

The above is the detailed content of What to do if linux php has insufficient permission to connect to mysql. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn