Penyelesaian kepada kebenaran yang tidak mencukupi untuk linux php untuk menyambung ke mysql: 1. Berikan pertanyaan, sisipan dan kebenaran lain kepada pengguna data biasa dengan menggunakan arahan pemberian 2. Berikan kebenaran untuk membuat jadual dan indeks kepada pembangun pangkalan data melalui geran.
Persekitaran pengendalian artikel ini: sistem linux5.9.8, PHP versi 7.1, komputer DELL G3
Apakah yang perlu saya lakukan jika Linux PHP tidak mempunyai kebenaran yang mencukupi untuk menyambung ke MySQL?
Linux php tidak mempunyai kebenaran yang mencukupi untuk menyambung ke mysql bahagian kebenaran terperinci:
Mysql boleh memberikan anda pengguna seperti pilih, masukkan, kemas kini, padam, dsb. Satu atau lebih kebenaran menggunakan perintah pemberian Format penggunaan ialah:
grant 权限 on 数据库对象 to 用户
1. Berikan pengguna data biasa berhak untuk bertanya, memasukkan, mengemas kini dan memadam. semua data jadual dalam pangkalan data
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@’%’
Atau, gunakan arahan mysql sebaliknya:
grant select, insert, update, delete on testdb.* to common_user@’%’
2. Berikan pembangun pangkalan data untuk mencipta jadual, indeks, pandangan, prosedur tersimpan dan fungsi . . . Menunggu keizinan
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 Berikan kebenaran DBA biasa untuk mengurus pangkalan data mysql tertentu
grant all privileges on testdb to dba@’localhost’
Antaranya, kata kunci "keistimewaan" boleh ditinggalkan.
4. Berikan kebenaran DBA kanan untuk mengurus semua pangkalan data dalam mysql
grant all on *.* to dba@’localhost’
5 kebenaran pemberian Mysql boleh digunakan pada pelbagai peringkat
1 keseluruhan pelayan mysql:
grant select on *.* to dba@localhost; - dba 可以查询 mysql 中所有数据库中的表。 grant all on *.* to dba@localhost; - dba 可以管理 mysql 中的所有数据库
2 Grant bertindak pada satu pangkalan data:
grant select on testdb.* to dba@localhost; - dba 可以查询 testdb 中的表。
3 Grant bertindak pada satu jadual data:
grant select, insert, update, delete on testdb.orders to dba@localhost;
4. Geran berfungsi pada lajur dalam jadual:
grant select(id, se, rank) on testdb.apache_log to dba@localhost;
5 Geran berfungsi pada prosedur dan fungsi tersimpan:
grant execute on procedure testdb.pr_add to ’dba’@’localhost’ grant execute on function testdb.fn_add to ’dba’@’localhost’
6 Lihat kebenaran pengguna mysql
Lihat kebenaran pengguna semasa (sendiri):
show grants;
Lihat kebenaran pengguna mysql lain:
show grants for dba@localhost;
7 Batalkan kebenaran yang telah diberikan kepada pengguna mysql
Sintaks pembatalan adalah serupa dengan pemberian Anda hanya perlu menggantikan kata kunci "kepada" dengan "dari":
grant all on *.* to dba@localhost; revoke all on *.* from dba@localhost;
8 Nota tentang pemberian mysql dan batalkan kebenaran pengguna
1. Selepas memberikan dan membatalkan kebenaran pengguna, kebenaran hanya boleh berkuat kuasa jika pengguna menyambung semula ke pangkalan data mysql.
2. Jika anda mahu pengguna yang diberi kuasa memberikan kebenaran ini kepada pengguna lain, anda memerlukan pilihan "beri pilihan"
grant select on testdb.* to dba@localhost with grant option;
Ciri ini biasanya tidak digunakan. Dalam amalan, kebenaran pangkalan data paling baik diuruskan secara seragam oleh DBA.
Nota: Selepas mengubah suai kebenaran, anda mesti memuat semula perkhidmatan atau memulakan semula perkhidmatan
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Apa yang perlu dilakukan jika linux php tidak mempunyai kebenaran yang mencukupi untuk menyambung ke mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!