Fitur khas MySQL adalah keamanannya sendiri, mengandalkan perlindungan eksternal. Sebagai sistem manajemen basis data yang modern, berfitur lengkap, dan efisien, MySQL memiliki alatnya sendiri untuk mengelola pengguna dan akses mereka ke sumber daya yang dikendalikannya.
Jika Anda tidak mengetahui username dan password yang benar, mengakses database melalui MySQL sangat sulit.
Dalam mode hosting normal, ini sudah cukup. Situasi tak terduga, serangan hacker dan masalah lainnya adalah masalah administrasi sistem eksternal dan layanan keamanan. Konsep ini telah menjadi tradisional dan praktis tidak dibahas.
Instal server MySQL dan root pengguna
Dalam lingkungan operasi apa pun sistem manajemen basis data terinstal, selalu ada setidaknya satu pengguna: root. Instal MySQL, buat pengguna dengan semua hak root - tanpa ini, bekerja denganserver tidak mungkin. Hak istimewa pengguna ini cukup untuk:
- membuat dan mengelola pengguna baru;
- membuat dan mengelola database.
Pada dasarnya mungkin ada pengguna "tanpa kata sandi" di MySQL, tetapi ini tidak dapat diterima.
Latihan umum:
- server terinstal di komputer sendiri, di mana hosting dapat diinstal (pilihan lokal);
- server ada di hosting publik di Internet.
Dalam kasus pertama, dimungkinkan untuk bekerja dengan server dari baris perintah dan menggunakan phpMyAdmin, dalam kasus kedua, hanya phpMyAdmin atau alat serupa, tetapi baris perintah dapat diakses melalui akses SSH jarak jauh.
Alat administrasi sendiri
Perasaan kekerabatan dengan keluarga Unixoid dan dengan masa lalu dari server Apache adalah ciri khas MySQL: create user adalah baris perintah dengan sintaks yang aneh. Untuk para profesional yang bekerja dengan Linux dan sistem serupa, ini sama familiarnya dengan terlihat liar di mata pengguna Windows yang belum pernah “memasuki kehidupan nyata.”
Membuat pengguna dimulai dengan memulai baris perintah server. Di lingkungan Windows, ini dilakukan sebagai berikut.
Pertama (1) Anda perlu menjalankan baris perintah sebagai administrator, lalu masuk ke folder tempat MySQL berada (2), lalumulai server itu sendiri (3):
mysql -u… -p
di sini "-u…" dan "-p" adalah kunci yang menunjuk ke nama "…"=root (atau nama lain) dan kata sandinya. Pada prinsipnya, pengguna tidak boleh menjadi root, tetapi pengguna yang memiliki hak "root" (administratif).
Penting: server sebenarnya selalu berjalan, di sini mysql -u… -p adalah perintah untuk mengakses server, bukan memulainya.
Dalam lingkungan Linux dan sistem serupa, perintah seperti itu adalah tindakan "asli" dan, sebagai aturan, ditentukan hanya dengan memulai mysqld di tempat yang tepat (di jalur yang benar), ini harus diperiksa dengan administrator. Biasanya ada nama yang berbeda di sini: bukan mysql, tetapi mysqld. Juga di sini, tindakan ini tidak selalu tersedia untuk semua pengguna (dari sistem operasi, bukan dari server MySQL). Tidak seperti Windows, di Linuxoids, ketertiban dan keamanan adalah persyaratan alami dan tidak dapat dinegosiasikan, yang selalu diperlakukan dengan cara yang beradab.
Bagaimanapun, setelah mysql dimulai, ia akan mengumumkan ini dengan prompt (4):
mysql>
dan dimungkinkan untuk bekerja dengan pengguna dan database.
Catatan. Saat menginstal di lingkungan Windows, semuanya: Apache, MySQL, PHP, phpMyAdmin dapat diatur ke jalur default, tetapi disarankan untuk menggunakan lokasi yang lebih ringkas dan lebih dekat untuk alat penting ini:
- c:\SCiA\Apache;
- c:\SCiA\PHP;
- c:\SCiA\MySQL;
- …
- c:\SCiB\localhost\www\phpMyAdmin;
- c:\SCiB\site1\www;
- c:\SCiB\site2\www;
- …
- c:\SCiB\siteN\www\.
Logika ini tidak hanya akan menyederhanakan administrasi, tetapi juga memperluas kemampuan pengembang untuk berpindah antar versi produk dan mengelola fungsionalitasnya.
Bekerja pada baris perintah MySQL
Setelah server merespons dan menyediakan baris perintahnya, pengguna dapat dibuat dan diberi izin.
Dalam contoh ini, perintah buat pengguna membuat pengguna Petrov dengan kata sandi 123DFG. Jika terjadi kesalahan saat memasukkan perintah, server menawarkan untuk memperbaikinya, tetapi lebih baik jangan pernah membuat kesalahan saat mengerjakan baris perintah!
Perintah berikut memberikan semua hak istimewa memberikan semua hak untuk semuanya. Perintah flush dapat dihilangkan, tetapi 'memunculkan' buffer perintah, yaitu, memperbaiki eksekusinya.
MySQL: buat pengguna dan berikan hak ke database
Perintah yang digunakan dalam contoh:
BERIKAN SEMUA HAK ISTIMEWA DI. KEPADA 'Petrov'@'localhost';
sebenarnya memberi pengguna Petrov akses ke semua database (tanda bintang pertama) ke semua tabel (tanda bintang kedua).
Sebagai aturan umum MySQL, membuat pengguna adalah:
GRANT [tipe hak istimewa] ON [nama database].[nama tabel] KE '[pengguna]'@'localhost';
Hak istimewa berikut diizinkan:
- SEMUA HAK ISTIMEWA - semua hak.
- CREATE - hak untuk membuat tabel/database baru.
- DROP - hak untuk menghapus tabel/database.
- DELETE - hak untuk menghapus informasi dalam tabel.
- INSERT - hak untuk menulis informasi ke tabel.
- SELECT - hak untuk membaca informasi dari tabel.
- UPDATE - hak untuk memperbarui informasi dalam tabel.
- GRANT OPTION - hak untuk bekerja dengan hak istimewa pengguna lain.
Dari sudut pandang praktis, di MySQL "buat pengguna" menyiratkan tiga opsi untuk hak:
- semua hak untuk semua database dan semua pengguna;
- baca dan tulis;
- hanya baca.
Opsi lain untuk memberikan hak jarang diperlukan. Di lingkungan Linux, ada lebih banyak alasan untuk kebebasan "legal" (dan kebutuhan), tetapi ada lebih banyak peluang daripada di Windows.
Operasi kebalikan dari MySQL "buat pengguna" adalah drop.
hapus pengguna 'Petrov'@'localhost';
Setelah menjalankan perintah ini, Petrov tidak akan lagi menjadi pengguna dan hak istimewanya akan hilang. Untuk mengubah hak istimewa, gunakan perintah:
REVOKE [hak istimewa] DI [DB].[Tabel] UNTUK '[pengguna]'@'localhost';
Tindakan yang biasa dilakukan di MySQL adalah membuat pengguna atau menghapusnya, tetapi mengubah hak istimewa juga merupakan operasi yang valid (jarang diminta).
Menggunakan phpMyAdmin
Ada banyak implementasi dari alat yang luar biasa ini. Tergantung pada versi Apache, PHP dan MySQL yang digunakan, seringkali dibutuhkan waktu lama untuk menemukan versi yang tepat dari produk ini, tetapi setelah phpMyAdmin berhasil diinstal, pengguna memiliki banyak fitur yang mudah dan nyaman.antarmuka.
Menggunakan phpMyAdmin, Anda dapat memberi tahu MySQL untuk membuat pengguna untuk host mana pun dan mengelola pengguna yang ada dengan cara yang hampir seperti pembedahan.
phpMyAdmin bukan satu-satunya alat dengan antarmuka yang nyaman, intuitif, dan kaya fitur, tetapi ini adalah alat paling populer untuk mengelola server MySQL.
Tentang baris perintah dan keamanan
Tentu saja, menggunakan baris perintah MySQL adalah latihan yang tidak menarik, tetapi harus diingat bahwa dalam beberapa kasus hanya baris perintah server yang dapat menyimpan database atau pengguna, memastikan impor atau ekspor informasi.
Versi perangkat lunak berkembang begitu cepat sehingga pengembang tidak punya waktu untuk menggabungkan fitur, misalnya, PHP dan MySQL, MySQL dan phpMyAdmin. Jika sesuatu terjadi, baris perintah akan selalu menyelamatkan hari.
Seseorang juga tidak boleh lupa: Administrasi MySQL hanya tentang mengakses basis datanya dan melalui fungsinya. File database terbuka untuk diakses di luar MySQL. Mengamankan MySQL secara eksternal dan sumber daya yang dikontrolnya merupakan kebutuhan nyata dan penting.