MySQL ialah sistem pengurusan pangkalan data hubungan yang popular Banyak tapak web dan aplikasi menggunakan MySQL untuk menyimpan dan mengurus data. Apabila membangunkan aplikasi MySQL, untuk memastikan keselamatan dan ketepatan data, biasanya perlu menetapkan tahap kebenaran pengguna yang berbeza. Artikel ini akan memperkenalkan cara menetapkan kebenaran untuk pengguna dalam MySQL.
Masukkan arahan berikut dalam terminal untuk log masuk ke pelayan MySQL.
$ mysql -u root -p
Antaranya, -u
mewakili nama pengguna, dan -p
mewakili keperluan untuk memasukkan kata laluan. Jika tiada kata laluan ditetapkan, parameter -p
boleh ditinggalkan.
Arahan untuk mencipta pengguna baharu dalam MySQL ialah:
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
Di mana, username
ialah nilai anda mahu Cipta nama pengguna, password
ialah kata laluan yang anda mahu tetapkan. @'localhost'
bermakna pengguna ini hanya boleh menyambung ke pelayan MySQL secara tempatan. Jika anda ingin membenarkan sambungan ke pelayan MySQL daripada mesin lain, anda boleh menggantikan localhost
dengan %
.
Dalam MySQL, anda boleh menggunakan perintah GRANT
untuk menetapkan tahap kebenaran yang berbeza kepada pengguna. Sebagai contoh, arahan berikut boleh memberikan pengguna username
keizinan pertanyaan dan kemas kini pada pangkalan data test
:
GRANT SELECT, INSERT, UPDATE ON test.* TO 'username'@'localhost';
di mana, SELECT
mewakili kebenaran untuk melaksanakan operasi pertanyaan pada jadual dan INSERT
mewakili kebenaran untuk melaksanakan operasi pertanyaan pada jadual Kebenaran untuk melaksanakan operasi sisipan pada jadual, UPDATE
menunjukkan kebenaran untuk melaksanakan operasi kemas kini pada jadual. test.*
menunjukkan bahawa semua jadual di bawah pangkalan data test
adalah dibenarkan. Jika anda ingin membenarkan satu jadual, anda boleh menggantikan test.*
dengan test.tablename
.
Jika anda ingin memberikan pengguna semua kebenaran operasi pada semua pangkalan data, anda boleh menggunakan arahan berikut:
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';
Selain ALL PRIVILEGES
, anda juga boleh menggunakan kebenaran lain, seperti SELECT
,INSERT
,UPDATE
,DELETE
,CREATE
,DROP
, dsb.
Apabila kami memberikan kebenaran baharu kepada pengguna, kami perlu memuat semula kebenaran untuk berkuat kuasa. Anda boleh menggunakan arahan berikut untuk memuat semula kebenaran:
FLUSH PRIVILEGES;
Jika anda tidak memuat semula kebenaran, anda mungkin mendapat ralat "Akses ditolak" apabila anda melakukan beberapa operasi yang memerlukan kebenaran.
Jika anda ingin membatalkan beberapa kebenaran pengguna, anda boleh menggunakan arahan berikut:
REVOKE SELECT, INSERT ON test.* FROM 'username'@'localhost';
Di mana, SELECT
dan INSERT
bermaksud membatalkan pertanyaan dan memasukkan kebenaran ke pangkalan data username
daripada pengguna test
. Begitu juga, test.*
boleh digantikan dengan test.tablename
, dengan itu membatalkan akses pengguna kepada satu jadual. Jika anda ingin mengalih keluar semua kebenaran daripada pengguna, anda boleh menggunakan arahan berikut:
REVOKE ALL PRIVILEGES ON *.* FROM 'username'@'localhost';
Anda boleh menggunakan arahan berikut untuk melihat kebenaran semua pengguna dalam MySQL Permissions:
SELECT * FROM mysql.user;
Selain itu, anda juga boleh menggunakan arahan berikut untuk melihat kebenaran pengguna:
SHOW GRANTS FOR 'username'@'localhost';
Arahan di atas akan dipaparkan semua kebenaran pengguna username
dalam MySQL.
Ringkasan
Dalam MySQL, pengurusan kebenaran pengguna adalah sangat penting. Dengan memberikan tahap kebenaran yang berbeza, anda boleh memastikan bahawa hanya pengguna yang diberi kuasa boleh membaca, menulis, mengubah suai atau memadam data dalam pangkalan data, dengan itu memastikan keselamatan dan ketepatan data. Semasa membangunkan aplikasi MySQL, pastikan anda mengikuti amalan terbaik untuk mengelakkan kebocoran data atau rasuah disebabkan tetapan kebenaran yang tidak betul.
Atas ialah kandungan terperinci Bagaimana untuk menetapkan kebenaran untuk pengguna dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!