Jadual Kandungan
Buat pengguna yang berdedikasi, jangan gunakan root
Kawalan kebenaran yang tepat, jangan berikan semuanya
Hadkan sumber log masuk untuk mengelakkan penyalahgunaan jauh
Rumah pangkalan data tutorial mysql Menjamin akaun pengguna MySQL dengan prinsip keistimewaan yang paling sedikit

Menjamin akaun pengguna MySQL dengan prinsip keistimewaan yang paling sedikit

Jul 31, 2025 am 09:34 AM

Untuk menetapkan kebenaran minimum untuk pengguna MySQL, langkah -langkah berikut mesti diikuti: 1. Buat pengguna yang berdedikasi dan elakkan menggunakan root; 2. Setiap pengguna hanya mengakses pangkalan data atau jadual yang diperlukan; 3. Berikan kebenaran operasi yang diperlukan seperti pilih dan masukkan; 4. Mengatasi sumber log masuk, mengutamakan menentukan IP atau localhost tertentu, dan elakkan menggunakan %; 5. Mengukuhkan kawalan akses dalam kombinasi dengan firewall. Sebagai contoh, buat pengguna yang membaca dan menulis hanya blog_db untuk sistem blog, atau mencipta pengguna baca sahaja untuk sistem pelaporan, dengan itu mengurangkan risiko apabila akaun dibocorkan.

Menjamin akaun pengguna MySQL dengan prinsip keistimewaan yang paling sedikit

Menetapkan keizinan minimum untuk akaun pengguna MySQL sebenarnya agak mudah. Titik utama ialah: hanya memberi pengguna keizinan yang mereka perlukan, tidak lebih atau kurang . Ramai orang mula -mula memberikan semua keistimewaan secara langsung untuk kemudahan, yang mengakibatkan bahaya keselamatan. Sebenarnya, hanya menghabiskan beberapa minit lagi apabila membuat pengguna dan kebenaran, anda boleh mengurangkan risiko.

Menjamin akaun pengguna MySQL dengan prinsip keistimewaan yang paling sedikit

Buat pengguna yang berdedikasi, jangan gunakan root

Kebenaran pengguna Root MySQL dibuka sepenuhnya, sesuai untuk pengurusan, tetapi bukan untuk sambungan aplikasi harian. Ramai orang cuba menjimatkan masalah dan membiarkan program terus menyambung ke root, yang merupakan tabu besar. Cara yang betul untuk melakukannya ialah:

  • Buat pengguna bebas untuk setiap aplikasi atau perkhidmatan
  • Setiap pengguna hanya mengakses pangkalan data atau jadual yang mereka perlukan
  • Elakkan berkongsi akaun pengguna di seluruh aplikasi

Sebagai contoh, jika anda mempunyai sistem blog, anda hanya perlu membaca dan menulis pangkalan data blog_db, kemudian buat pengguna seperti ini:

Menjamin akaun pengguna MySQL dengan prinsip keistimewaan yang paling sedikit
 Buat pengguna 'blog_user'@'localhost' yang dikenal pasti oleh 'Secure_Password';
Geran pilih, masukkan, kemas kini pada blog_db.* Ke 'blog_user'@'localhost';

Dengan cara ini, walaupun akaun ini dibocorkan, penyerang hanya boleh memindahkan blog_db dan tidak akan menjejaskan keseluruhan pangkalan data.


Kawalan kebenaran yang tepat, jangan berikan semuanya

MySQL menyediakan kawalan kebenaran yang sangat halus, jangan hanya mula memberi semua. Kebenaran biasa termasuk:

Menjamin akaun pengguna MySQL dengan prinsip keistimewaan yang paling sedikit
  • Pilih: data baca sahaja
  • Masukkan: masukkan data baru
  • Kemas kini: Ubah suai data yang ada
  • Padam: Padam data
  • Jalankan: Laksanakan prosedur tersimpan
  • Penggunaan: Hanya bersambung, tiada operasi data

Sebagai contoh, sistem pelaporan hanya perlu melihat data dan tidak perlu diubah suai, jadi anda hanya boleh memberi pilihan:

 Geran pilih pada sales_db.* Ke 'Report_user'@'%';

Dengan cara ini, walaupun akaun ini dibocorkan, yang lain hanya dapat membacanya dan tidak dapat mengubahnya.


Hadkan sumber log masuk untuk mengelakkan penyalahgunaan jauh

Sebagai tambahan kepada kebenaran operasi, ia juga perlu mengawal di mana pengguna boleh menyambung kepadanya. Pengguna MySQL mempunyai nama host, seperti 'user'@'localhost' dan 'user'@'%' adalah dua pengguna yang berbeza.

  • Jika pengguna hanya menggunakannya secara tempatan, gunakan 'user'@'localhost'
  • Jika ia adalah sambungan jauh, cuba tentukan IP tertentu, seperti 'user'@'192.168.1.100'
  • Elakkan menggunakan 'user'@'%' melainkan jika anda benar -benar perlu menyambung dari mana saja

Anda juga boleh menggunakan firewall untuk menyekat sumber akses port MySQL, insurans berganda.


Menetapkan keizinan tidak kelihatan sukar, tetapi mudah untuk membukanya semua untuk menyelamatkan masalah. Sebenarnya, selagi anda berfikir lebih lanjut apabila membuat pengguna dan memberikan keizinan seperti yang diperlukan, anda boleh mengelakkan banyak risiko yang berpotensi. Pada dasarnya semua ini tidak rumit tetapi mudah diabaikan.

Atas ialah kandungan terperinci Menjamin akaun pengguna MySQL dengan prinsip keistimewaan yang paling sedikit. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1594
276
Bagaimana cara mengaudit aktiviti pangkalan data di MySQL? Bagaimana cara mengaudit aktiviti pangkalan data di MySQL? Aug 05, 2025 pm 01:34 PM

UsemysqliseauditpluginiPriseSpriseSpRingIponFigurationPonfigurationPonviSventSonPonfigurationShigurationShigurationShigurationShigurationShigurationWithServer-Audit = forcews_Plus_permanentAntoMizeSviSviSviAserver_events;

Menjamin MySQL dengan keistimewaan tahap objek Menjamin MySQL dengan keistimewaan tahap objek Jul 29, 2025 am 01:34 AM

Tosecuremysqleffectely, useObject-levelprivilygestestestigmilimitusAracCessBasedontheArtheirspecificNeeds.beginbyBySpelythatthatThatBje-levelprivileGeGsapplyTaDataBases, Tabel, orcolumns.

Mengoptimumkan MySQL untuk Penyimpanan Data Kewangan Mengoptimumkan MySQL untuk Penyimpanan Data Kewangan Jul 27, 2025 am 02:06 AM

MySQL perlu dioptimumkan untuk sistem kewangan: 1. Data kewangan mesti digunakan untuk memastikan ketepatan menggunakan jenis perpuluhan, dan DateTime digunakan dalam bidang masa untuk mengelakkan masalah zon waktu; 2. Reka bentuk indeks harus munasabah, mengelakkan kemas kini medan yang kerap untuk membina indeks, menggabungkan indeks dalam urutan pertanyaan dan indeks yang tidak berguna secara berkala; 3. Gunakan urus niaga untuk memastikan konsistensi, mengawal granulariti transaksi, elakkan urus niaga yang panjang dan operasi bukan teras yang tertanam di dalamnya, dan pilih tahap pengasingan yang sesuai berdasarkan perniagaan; 4. Partition Data Sejarah mengikut Masa, Arkib Data Sejuk dan Gunakan Jadual Mampat untuk meningkatkan kecekapan pertanyaan dan mengoptimumkan penyimpanan.

Bagaimana cara menggunakan kekangan cek untuk menguatkuasakan peraturan data di MySQL? Bagaimana cara menggunakan kekangan cek untuk menguatkuasakan peraturan data di MySQL? Aug 06, 2025 pm 04:49 PM

MySQL menyokong kekangan cek untuk memaksa integriti domain, berkesan dari versi 8.0.16; 1. Tambah kekangan apabila membuat jadual: Gunakan createtable untuk menentukan syarat semak, seperti umur ≥18, gaji> 0, nilai had jabatan; 2. Ubah suai jadual untuk menambah kekangan: Gunakan altertableaddConstraint untuk mengehadkan nilai medan, seperti nama tidak kosong; 3. Menggunakan syarat-syarat yang kompleks: menyokong logik dan ekspresi multi-lajur, seperti tarikh akhir ≥ multart status dan status siap mesti mempunyai tarikh akhir; 4. Padam Kekangan: Gunakan alterTableDRopConstraint untuk menentukan nama untuk memadam; 5. Nota: Mysql8.0.16, InnoDB atau Myisam perlu disebutkan

Bagaimana untuk melaksanakan sistem penandaan dalam pangkalan data MySQL? Bagaimana untuk melaksanakan sistem penandaan dalam pangkalan data MySQL? Aug 05, 2025 am 05:41 AM

Useamany-to-manyrelationshipwithajunctionTableTolinkitemsandtagsviathreetables: item, tags, anditem_tags.2.WhenaddingTags, checkorexistingtagsinthetagstable, InsertIfnerary, thencreatemappingsinitem_TagsusterShanTaStranitem_TagsingTrans

Amalan terbaik untuk menguruskan jadual mysql yang besar Amalan terbaik untuk menguruskan jadual mysql yang besar Aug 05, 2025 am 03:55 AM

Apabila berurusan dengan jadual besar, prestasi MySQL dan penyelenggaraan menghadapi cabaran, dan perlu bermula dari reka bentuk struktur, pengoptimuman indeks, strategi sub-meja jadual, dan sebagainya. 1. Gunakan indeks overlay untuk meningkatkan kecekapan pertanyaan; kerap menganalisis log pertanyaan perlahan dan memadam indeks tidak sah. 2. 3. Pertimbangkan pembacaan dan penulisan pemisahan dan pemisahan perpustakaan: Baca dan menulis pemisahan mengurangkan tekanan pada perpustakaan utama. Pemisahan perpustakaan dan pemisahan jadual sesuai untuk senario dengan sejumlah besar data. Adalah disyorkan untuk menggunakan middleware dan menilai masalah urus niaga dan masalah pertanyaan silang. Perancangan awal dan pengoptimuman berterusan adalah kunci.

Cara Menunjukkan Semua Pangkalan Data di MySQL Cara Menunjukkan Semua Pangkalan Data di MySQL Aug 08, 2025 am 09:50 AM

Untuk memaparkan semua pangkalan data dalam MySQL, anda perlu menggunakan perintah ShowDatabases; 1. Selepas log masuk ke pelayan MySQL, anda boleh melaksanakan showdatabases; perintah untuk menyenaraikan semua pangkalan data bahawa pengguna semasa mempunyai kebenaran untuk mengakses; 2. Pangkalan data sistem seperti Maklumat_Schema, MySQL, Performance_Schema dan SYS wujud secara lalai, tetapi pengguna yang mempunyai kebenaran yang tidak mencukupi mungkin tidak dapat melihatnya; 3. Anda juga boleh menanyakan dan menapis pangkalan data melalui selectschema_namefrominformation_schema.schemata; Sebagai contoh, tidak termasuk pangkalan data sistem untuk hanya memaparkan pangkalan data yang dibuat oleh pengguna; Pastikan untuk menggunakan

Bagaimana untuk menambah kunci utama ke jadual yang sedia ada di MySQL? Bagaimana untuk menambah kunci utama ke jadual yang sedia ada di MySQL? Aug 12, 2025 am 04:11 AM

Untuk menambah kunci utama ke jadual yang sedia ada, gunakan pernyataan altertable dengan klausa AddPrimaryKey. 1. Pastikan lajur sasaran tidak mempunyai nilai null, tiada duplikasi dan ditakrifkan sebagai notnull; 2. Sintaks utama utama tunggal-lajur adalah nama meja altertable AddPrimaryKey (nama lajur); 3. Sintaks utama utama kombinasi Kombinasi Multi-lajur adalah nama jadual Altertable AddPrimaryKey (lajur 1, lajur 2); 4 Jika lajur membenarkan batal, anda mesti terlebih dahulu melaksanakan Modify to menetapkan notnull; 5. Setiap jadual hanya boleh mempunyai satu kunci utama, dan kunci utama lama mesti dipadamkan sebelum menambah; 6. Jika anda perlu meningkatkannya sendiri, anda boleh menggunakan Modify untuk menetapkan auto_increment. Pastikan data sebelum beroperasi

See all articles