Mengamankan Pemasangan dan Konfigurasi Lalai MySQL
Mengubah kata laluan akar lalai, memadam pengguna tanpa nama, mengharamkan log masuk akar jauh, mengeluarkan pangkalan data ujian, dan menyekat pelabuhan akses adalah langkah utama dalam pengerasan keselamatan MySQL. Pertama, anda harus menggunakan arahan Pengguna ALTER untuk menetapkan kata laluan yang kuat dan elakkan menggunakan akaun Root untuk menyambung ke aplikasi; Kedua, anda harus memadamkan pengguna '@' localhost 'dan' '@' your_hostname 'tanpa nama pengguna; Kemudian periksa dan padamkan akaun 'root'@'%' yang membolehkan log masuk jauh, atau buat akaun khusus terhad; Kemudian padamkan pangkalan data ujian yang tidak perlu dan data lain yang tidak relevan; Akhirnya mengehadkan akses port 3306 melalui alat firewall, atau tetapkan alamat bind kepada 127.0.0.1 dalam fail konfigurasi untuk mengelakkan akses luaran.
Pemasangan dan konfigurasi lalai MySQL sering menimbulkan beberapa risiko keselamatan apabila ia mula -mula digunakan, terutamanya jika ia secara langsung terdedah kepada rangkaian awam atau salah beroperasi oleh kakitangan dalaman. Artikel ini terus ke topik: Cara menangani isu -isu keselamatan konfigurasi lalai MySQL.

Ubah suai kata laluan root lalai
Selepas MySQL dipasang, kata laluan pengguna akar lalai mungkin kosong, dijana secara rawak, atau ditetapkan sementara. Dalam kedua -dua kes, perkara pertama ialah menukar kata laluan root lalai .
- Jika ia adalah MySQL yang baru dipasang, anda mungkin diminta untuk menetapkan kata laluan semasa log masuk untuk kali pertama;
- Sekiranya anda telah berjalan sebentar tetapi belum menukar kata laluan anda, anda boleh menggunakan perintah
ALTER USER
untuk mengubah suai:Mengubah pengguna 'root'@'localhost' yang dikenal pasti oleh 'kata laluan kuat anda';
Adalah disyorkan untuk menggunakan strategi kata laluan yang kuat, seperti mengandungi huruf, nombor dan aksara khas, dan panjangnya tidak kurang daripada 12 digit. Pada masa yang sama, jangan gunakan akaun root untuk sambungan aplikasi harian.

Padam atau Lumpuhkan Pengguna Tanpa Nama
MySQL boleh membenarkan akses tanpa nama secara lalai, iaitu, anda boleh log masuk ke pangkalan data tanpa menggunakan nama pengguna dan kata laluan. Fungsi ini tidak diperlukan untuk kebanyakan persekitaran pengeluaran, melainkan bahaya keselamatan.
Anda boleh menggunakan arahan berikut untuk memeriksa sama ada pengguna tanpa nama wujud:

Pilih pengguna, hos dari mysql.user di mana user = '';
Jika ada, padamkannya:
Drop user ''@'localhost'; Drop user ''@'your_hostname';
your_hostname
di sini adalah nama hos pelayan, yang boleh dilihat melalui perintah hostname
.
Lumpuhkan log masuk akar jauh
Secara lalai, pengguna root hanya boleh log masuk dari localhost. Jika anda tidak membuat apa -apa perubahan, ini sebenarnya adalah kelebihan keselamatan. Tetapi kadang -kadang, demi kemudahan debugging, seseorang akan menambah root@%
secara manual atau keizinan akses jauh lain, yang sangat meningkatkan risiko diserang.
Semak sama ada log masuk akar jauh dibenarkan:
Pilih pengguna, hos dari mysql.user di mana user = 'root';
Jika anda melihat rekod seperti 'root'@'%'
, ini bermakna bahawa akar boleh dilog masuk dari mana -mana IP. Adalah disyorkan untuk memadamkannya:
Drop pengguna 'root'@'%';
Jika anda memerlukan pengurusan jauh, anda boleh membuat akaun khusus dan mengehadkan julat IP yang diakses dan bukannya membuka akar secara langsung.
Keluarkan pangkalan data ujian dan data yang tidak berkaitan
Selepas MySQL dipasang, ia biasanya dilengkapi dengan pangkalan data yang dipanggil test
, yang boleh diakses oleh sesiapa sahaja, walaupun ia tidak diberi kuasa. Ini benar -benar berlebihan untuk perkhidmatan yang baru dilancarkan.
Padam pangkalan data ujian:
Ujian pangkalan data drop;
Pada masa yang sama, anda juga mesti membersihkan pangkalan data dan jadual yang wujud secara lalai tetapi anda tidak akan menggunakannya. Pembersih sistem, semakin kecil kemungkinannya menghadapi masalah.
Di samping itu, periksa peruntukan keizinan global untuk memastikan tiada kebenaran yang tidak perlu diberikan kepada pengguna biasa, seperti kebenaran yang luas seperti GRANT ALL PRIVILEGES
.
Hidupkan firewall dan hadkan akses ke pelabuhan
MySQL mendengar port 3306 secara lalai. Jika anda mendedahkannya ke rangkaian awam tanpa mengambil langkah perlindungan, ia seperti pintu terbuka untuk mengalu -alukan orang asing untuk masuk dan duduk.
- Gunakan alat firewall (seperti iptables, UFW, atau kumpulan keselamatan platform awan) untuk membolehkan hanya segmen IP tertentu untuk mengakses 3306;
- Jika ia hanya digunakan secara asli, ia boleh terikat kepada 127.0.0.1;
- Tetapkan dalam fail konfigurasi
my.cnf
ataumy.ini
:Bind-Address = 127.0.0.1
Dengan cara ini, rangkaian luaran tidak dapat mengakses pangkalan data secara langsung.
Pada dasarnya itu sahaja. Walaupun ini semua operasi asas, ramai orang hanya mengabaikan bahaya tersembunyi yang dibawa oleh tetapan "lalai" ini. Hanya mengambil sedikit masa untuk memeriksa dan menyesuaikan diri, banyak isu keselamatan berikutnya boleh dielakkan.
Atas ialah kandungan terperinci Mengamankan Pemasangan dan Konfigurasi Lalai MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

UsemysqliseauditpluginiPriseSpriseSpRingIponFigurationPonfigurationPonviSventSonPonfigurationShigurationShigurationShigurationShigurationShigurationWithServer-Audit = forcews_Plus_permanentAntoMizeSviSviSviAserver_events;

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.

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

Tooptimizemysqlforreal-timedatafeeds, firstChoosetheinnodbstorageenginfortransactionsandrow-levellocking, usememoryorrocksdbforthfforatarydata, dan partitiontime-SeriesDataByTime.Second, orderstrategybybyapplydeSdeAndeLyPlyDeSdeLyPlyDeSdeLySdeSdeLySdeSdeSdeLySdeSdeLySdeSdeLySdExteSdExteSdExteSdExteSdExteSdExteSdExteSdExteSdExteSdeShin

Sama ada MySQL bernilai bergerak ke awan bergantung kepada senario penggunaan tertentu. Jika perniagaan anda perlu dilancarkan dengan cepat, mengembangkan secara elastik dan memudahkan operasi dan penyelenggaraan, dan boleh menerima model bayar-as-you-go, kemudian bergerak ke awan adalah bernilai; Tetapi jika pangkalan data anda stabil untuk masa yang lama, latensi sensitif atau sekatan pematuhan, ia mungkin tidak kos efektif. Kekunci untuk mengawal kos termasuk memilih vendor dan pakej yang betul, mengkonfigurasi sumber yang munasabah, menggunakan contoh yang disediakan, menguruskan log sandaran dan mengoptimumkan prestasi pertanyaan.

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.

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

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