Video: pangkalan data 2024
Apabila MySQL dipasang, ia secara automatik mewujudkan pangkalan data yang dipanggil mysql . Semua maklumat yang digunakan untuk melindungi data anda disimpan dalam pangkalan data ini, termasuk nama akaun, nama host, kata laluan, dan keistimewaan.
Keistimewaan disimpan dalam lajur. Format setiap nama lajur adalah keistimewaan _priv, di mana keistimewaan adalah keistimewaan akaun khusus. Contohnya, lajur yang mengandungi ALTER keistimewaan dinamakan alter_priv. Nilai dalam setiap ruang istimewa adalah Y atau N, yang bermaksud ya atau tidak.
Jadi, contohnya, dalam jadual pengguna, akan ada baris untuk akaun dan lajur untuk alter_priv. Sekiranya medan akaun untuk alter_priv mengandungi Y, akaun tersebut boleh digunakan untuk melaksanakan pernyataan ALTER. Jika alter_priv mengandungi N, akaun tidak mempunyai keistimewaan untuk melaksanakan pernyataan ALTER.
Pangkalan data mysql mengandungi jadual berikut yang menyimpan keistimewaan:
-
pengguna jadual: Meja ini menyimpan keistimewaan yang digunakan untuk semua pangkalan data dan jadual. Ia mengandungi satu baris untuk setiap akaun yang sah yang merangkumi lajur nama pengguna, nama hos dan kata laluan. Pelayan MySQL menolak sambungan untuk akaun yang tidak wujud dalam jadual ini.
-
db jadual: Meja ini menyimpan hak istimewa yang digunakan untuk pangkalan data tertentu. Ia mengandungi satu baris untuk pangkalan data, yang memberi keistimewaan kepada nama akaun dan nama hos. Akaun mesti wujud dalam jadual pengguna untuk diberikan keistimewaan. Keistimewaan yang diberi dalam keistimewaan overrule jadual pengguna dalam jadual ini.
Sebagai contoh, jika jadual pengguna mempunyai baris untuk pereka akaun yang memberikan keistimewaan INSERT, pereka boleh memasukkan ke dalam semua pangkalan data. Jika baris dalam jadual db menunjukkan N untuk INSERT untuk akaun pereka dalam pangkalan data PetCatalog, jadual pengguna mengatasinya, dan pereka boleh memasukkan dalam pangkalan data PetCatalog.
-
hos jadual: Jadual ini mengawal akses kepada pangkalan data, bergantung pada tuan rumah. Jadual tuan rumah berfungsi dengan jadual db. Jika baris dalam jadual db mempunyai medan kosong untuk tuan rumah, MySQL menyemak jadual tuan rumah untuk melihat sama ada db mempunyai baris di sana. Dengan cara ini, anda boleh membenarkan akses ke db dari sesetengah tuan rumah tetapi bukan dari orang lain.
Misalnya, anda mempunyai dua pangkalan data: db1 dan db2. Pangkalan data db1 mempunyai maklumat sensitif, jadi anda hanya mahu orang tertentu melihatnya. Pangkalan data db2 mempunyai maklumat yang anda mahu semua orang dapat melihat. Sekiranya anda mempunyai baris dalam jadual db untuk db1 dengan medan hos kosong, anda boleh mempunyai dua baris untuk db1 di dalam jadual hos.
Satu baris dapat memberikan semua keistimewaan kepada pengguna yang menyambungkan dari host tertentu, sedangkan satu baris lain dapat menyangkal keistimewaan kepada pengguna yang menyambungkan dari host lain.
-
tables_priv table: Meja ini menyimpan keistimewaan yang digunakan untuk jadual tertentu.
-
columns_priv table: Meja ini menyimpan hak istimewa yang digunakan pada lajur tertentu.
Anda boleh melihat dan menukar jadual dalam mysql secara langsung jika anda menggunakan akaun yang mempunyai keistimewaan yang diperlukan. Anda boleh menggunakan pertanyaan SQL seperti SELECT, INSERT, dan UPDATE. Jika anda mengakses MySQL melalui majikan anda, pelanggan, atau syarikat hosting web, anda mungkin tidak mempunyai akaun dengan keistimewaan yang diperlukan.