GNU/Linux >> Belajar Linux >  >> Panels >> Webmin

Server Database MySQL

Pada halaman ini database MySQL dan modul Webmin yang mengelolanya dijelaskan, dan langkah-langkah yang harus diikuti untuk membuat database, tabel, dan pengguna terdaftar.

Lihat Pengenalan MySQL

Modul ini memungkinkan Anda untuk membuat database, tabel dan bidang, mengedit catatan dan mengelola pengguna MySQL melalui antarmuka web yang sederhana. Ikonnya dapat ditemukan di bawah kategori Server, dan ketika Anda mengkliknya, halaman utama modul akan menampilkan tabel ikon untuk database yang ada seperti yang ditunjukkan pada gambar di bawah (dengan asumsi MySQL telah diinstal dan dijalankan).

Halaman utama modul MySQL Database Server, tepat setelah instalasi mariadb-server, dan menjalankan yang direkomendasikan /usr/bin/mysql_secure_installation untuk menghapus pelanggaran keamanan

Jika server database berjalan tetapi Webmin tidak mengetahui kata sandi yang benar untuk login, halaman utama akan menampilkan formulir *MySQL Login*. Anda harus memasukkan nama pengguna administrasi ke dalam bidang Login' (biasanya root), dan kata sandi yang sesuai ke dalam Kata sandi bidang. Meskipun dimungkinkan untuk memasukkan nama pengguna dan kata sandi untuk setiap pengguna MySQL, pengguna non-root tidak dapat melakukan tugas seperti membuat database dan tabel - sehingga modul juga tidak dapat melakukannya.

Secara default, modul dikonfigurasi untuk login dengan nama pengguna dan sandi yang digunakan oleh paket MySQL untuk distribusi Anda secara default. Hanya jika Anda telah mengubahnya secara manual atau melalui Webmin, Login MySQL halaman muncul.

Jika server database tidak diinstal sama sekali di sistem Anda, halaman utama akan menampilkan pesan kesalahan seperti *Program klien MySQL /usr/bin/mysql tidak ditemukan di sistem Anda*. Periksa CD atau situs web distribusi Anda untuk semua paket terkait MySQL, dan instal menggunakan modul Paket Perangkat Lunak. Seringkali ada beberapa, bernama sesuatu seperti mysql, mysql-client, mysql-server dan mysql-devel. Setiap distribusi Linux tampaknya menggunakan kumpulan paket yang berbeda, jadi pastikan Anda menginstal semuanya.

Pada FreeBSD dan NetBSD, modul mengharapkan paket MySQL untuk sistem operasi tersebut untuk diinstal. Pada varian Unix lainnya, diasumsikan bahwa Anda telah mengkompilasi dan menginstal MySQL dari distribusi kode sumber, tersedia dari http://www.mysql.com/.

Jika modul mengeluh bahwa ia tidak dapat menemukan program mysql meskipun Anda telah menginstalnya, Anda perlu menyesuaikan jalur yang digunakannya. Hal ini dapat terjadi jika Anda menginstalnya dari sumber daripada menggunakan paket yang disertakan dengan distribusi Linux Anda.

Modul MySQL menggunakan perintah SQL untuk melakukan tindakan seperti membuat tabel, menambahkan bidang, dan mengedit catatan. Untuk menjalankan perintah ini, Webmin harus terhubung ke server database, yang dapat dilakukan dengan salah satu dari dua cara. Itu dapat menjalankan perintah mysql dengan parameter yang benar dan mengurai outputnya, atau menggunakan perpustakaan Perl DBI untuk terhubung secara langsung.

Metode yang pertama selalu tersedia, karena perintah mysql selalu diinstal saat server database berada. Namun, itu tidak sepenuhnya dapat diandalkan karena jenis data tabel tertentu menghasilkan output yang tidak selalu dapat diuraikan. Untuk alasan ini, Anda harus menginstal modul DBI dan DBD::mysql Perl. Jika salah satu tidak ada, sebuah pesan akan ditampilkan di bagian bawah halaman utama yang meminta Anda untuk menginstal salah satu atau keduanya dengan mengklik tautan. Ini akan membawa Anda ke halaman di modul Perl Modules (dibahas dalam bab 27) di mana DBI dan/atau DBD::mysql diunduh dan diinstal untuk Anda.

Isi

Membuat database baru

Halaman pengeditan basis data

Ketika MySQL pertama kali diinstal, database yang disebut mysql dibuat yang berisi tabel terkait otentikasi dan kontrol akses. Jika Anda ingin menyimpan data Anda sendiri, yang terbaik adalah membuat database Anda sendiri untuk menambahkan tabel daripada mengacaukan database mysql. Untuk melakukan ini, langkah-langkah yang harus diikuti adalah:

  1. Pada halaman utama modul, klik tombol Buat database baru link di atas atau di bawah tabel ikon database yang ada. Ini akan membawa Anda ke formulir untuk memasukkan detail database baru.
  2. Masukkan nama untuk database baru ke dalam Nama database bidang. Nama hanya boleh berisi huruf dan angka, dan tanpa spasi.
  3. Dimungkinkan untuk menggunakan formulir untuk membuat tabel awal untuk database baru. Namun, Anda dapat dengan mudah menambahkannya setelah dibuat seperti Buat tabel baru bagian menjelaskan.
  4. Klik tombol Buat tombol di bagian bawah formulir untuk membuat database. Anda akan kembali ke halaman utama modul, yang sekarang akan menyertakan ikon database baru.

Membuat tabel baru

Halaman pengeditan tabel

Tabel dapat ditambahkan ke database yang baru dibuat atau yang sudah ada kapan saja. Setiap tabel memiliki satu atau beberapa bidang, masing-masing memiliki tipe (seperti bilangan bulat, desimal, atau teks) dan ukuran. Bidang juga dapat diindeks, untuk mempercepat kueri SQL yang mencari catatan berdasarkan nilai di kolom tersebut. Untuk menambahkan tabel baru ke database, langkah-langkah yang harus diikuti adalah :

  1. Pada halaman utama modul, klik ikon database. Ini akan membawa Anda ke halaman pengeditan database yang ditunjukkan pada tangkapan layar di bawah, yang berisi ikon untuk setiap tabel dan tombol yang ada untuk melakukan berbagai tindakan.
  2. Masukkan jumlah bidang yang Anda ingin tabel baru Anda miliki ke dalam Bidang kotak teks di sebelah Buat tabel baru tombol, lalu klik tombol. Ini menampilkan formulir untuk memasukkan detail tabel baru dan bidang awalnya.
  3. Masukkan nama untuk tabel ini ke dalam Nama tabel bidang. Itu harus terdiri dari huruf, angka, dan karakter _, dan harus unik dalam database ini.
  4. Agar bidangnya disalin dari tabel yang ada, pilih dari Salin bidang dari tabel Tidak bisa. Bidang tambahan apa pun yang Anda masukkan di bawah di Bidang awal tabel akan ditambahkan setelah yang disalin.
  5. Jenis tabel menu dapat digunakan untuk memilih jenis penyimpanan yang berbeda untuk tabel ini. Jenis yang paling umum digunakan adalah:
    MyISAM
    Tipe tabel standar untuk MySQL versi 3.23 dan di atasnya. Pada sistem operasi yang mendukung file besar, tabel dengan ukuran ini dapat berukuran sekitar 2.000.000.000 GB. File tabel tidak bergantung pada OS, kunci dapat berukuran 500 byte dan 32 kolom kunci dapat digunakan dalam satu tabel.
    InnoDB
    Jenis tabel superior yang mendukung transaksi, data dalam jumlah besar, dan berjalan jauh lebih cepat daripada MyISAM.
    ISAM
    Tipe tabel MySQL standar lama, sekarang diganti dengan MyISAM. File tabel ISAM hanya dapat berukuran 4 GB, panjang kunci hanya 256 byte, dan sebuah tabel dapat memiliki paling banyak 16 kolom kunci.
    Tumpukan
    Data dalam tabel Heap hanya disimpan di memori. Ini membuatnya sangat cepat, tetapi hanya berguna untuk data sementara karena isi tabel akan hilang karena MySQL dimatikan. Jika Anda memilih Default atau jika jenis yang dipilih tidak didukung oleh MySQL di sistem Anda, jenis MyISAM akan digunakan.
  6. Bidang awal bagian adalah untuk memasukkan detail bidang aktual yang akan berisi tabel baru Anda. Setiap baris yang Anda isi menentukan satu bidang, berdasarkan nilai yang Anda masukkan di bawah setiap judul berikut :
    Nama bidang
    Nama unik untuk bidang ini, yang harus terdiri dari huruf, angka, dan karakter _. Bukan ide yang baik untuk memilih nama yang sama dengan kata yang dicadangkan SQL, seperti pilih, perbarui, atau indeks.
    Jenis data
    Dari menu ini Anda harus memilih jenis data di bidang ini. Yang paling umum adalah varchar (untuk string teks dengan panjang variabel) dan int (untuk bilangan bulat). Lihat Jenis bidang bagian di bawah ini untuk daftar lengkap jenis yang didukung.
    Ketik lebar
    Ukuran data yang dapat disimpan di bidang ini. Ini memiliki arti yang berbeda tergantung pada jenisnya - misalnya, untuk bidang varchar lebarnya adalah panjang teks maksimum, tetapi untuk bidang int itu adalah jumlah maksimum digit desimal. Sekali lagi, Tipe bidang bagian dari bab ini mencakup lebar secara lebih rinci. Jika Anda membiarkan kotak teks ini kosong untuk sebuah bidang, lebar default akan digunakan. Banyak jenis (seperti gumpalan, teks dan tanggal) memiliki ukuran tetap sehingga tidak boleh memasukkan lebar sama sekali.
    Kunci utama?
    Jika kotak ini dicentang, bidang ini akan menjadi bagian dari kunci utama tabel. Bidang kunci diindeks oleh MySQL, sehingga pernyataan SQL yang merujuk ke semuanya di klausa where berjalan lebih cepat. Namun, tidak ada dua catatan yang dapat memiliki nilai yang sama di bidang kunci utama mereka. Secara tradisional, bidang pertama dalam tabel adalah kuncinya. Tidak semua tipe dapat digunakan - biasanya, bidang kunci utama adalah int atau varchar. Semua tabel harus memiliki kunci utama, sehingga data di dalamnya dapat diedit di Webmin.
    Peningkatan otomatis?
    Jika opsi ini dicentang untuk bidang numerik, MySQL akan secara otomatis memasukkan angka satu lebih tinggi dari maksimum dalam tabel setiap kali catatan ditambahkan (kecuali pernyataan pembuatan catatan menentukan nilai secara eksplisit). Ini dapat berguna untuk pembuatan nomor ID secara otomatis, dan sering diaktifkan untuk bidang kunci utama.
  7. Setelah Anda memasukkan semua bidang, tekan tombol Buat tombol di bagian bawah formulir. Jika tabel tidak dapat dibuat karena alasan tertentu, pesan kesalahan SQL dari MySQL akan ditampilkan. Ini dapat terjadi jika nama bidang tidak valid, atau jika lebar tipe tidak masuk akal untuk suatu tipe. Jika ini terjadi, gunakan tombol kembali browser Anda untuk kembali ke formulir dan memperbaiki masalah. Setelah tabel berhasil dibuat, Anda akan kembali ke halaman pengeditan database yang sekarang akan menyertakan ikon tabel baru.

Menambahkan dan mengedit bidang

Ubah bidang

Bidang baru dapat ditambahkan ke tabel dan yang sudah ada diubah atau dihapus. Menambahkan bidang tidak menimbulkan risiko pada data yang sudah ada, tetapi mengubah jenis atau ukuran bidang mungkin - dan menghapus bidang akan menyebabkan data yang dikandungnya hilang. Untuk menambahkan bidang baru, langkah-langkah yang harus diikuti adalah:

  1. Pada halaman utama modul, klik ikon database yang berisi tabel, lalu klik ikon tabel. Ini akan memunculkan halaman yang ditunjukkan pada gambar di bawah, yang mencantumkan nama, jenis, dan detail lain dari semua bidang yang ada.
  2. Pilih jenis untuk bidang baru dari menu di sebelah tombol *Tambah bidang jenis* sebelum mengkliknya. Lihat Jenis bidang bagian di bawah ini untuk daftar jenis dan tujuannya.
  3. Pada formulir penambahan bidang yang muncul, masukkan nama unik untuk bidang ini ke dalam Nama bidang kolom tulisan. Tidak boleh ada dua bidang dalam tabel yang sama yang memiliki nama yang sama, dan hanya huruf, angka, dan _ yang dapat digunakan.
  4. Jika Anda menambahkan bidang char atau varchar, Anda harus memasukkan jumlah karakter maksimum ke dalam Tipe lebar kolom tulisan. Jika menambahkan bidang pelampung, ganda, atau desimal, Anda harus memasukkan dua angka ke dalam Lebar dan desimal kotak teks. Yang pertama adalah jumlah total digit yang dapat dikandung oleh suatu nilai, dan yang kedua adalah jumlah digit di sebelah kanan titik desimal. Untuk angka negatif, tanda minus dihitung sebagai angka - jadi bidang dengan Lebar dan desimal diatur ke 5 dan 2 dapat menyimpan nomor dari 99,99 hingga 999,99. Untuk bidang tanggal, waktu, waktu, gumpalan dan teks, tidak ada input lebar sama sekali, karena jenis ini memiliki ukuran tetap atau tidak terbatas. Untuk bidang enum dan set, Anda harus memasukkan daftar kemungkinan nilai ke dalam kotak teks *Enumerated values*. Untuk semua jenis bidang lainnya (seperti int) Lebar jenis dapat diatur ke Default agar bidang menggunakan ukuran default untuk jenis yang dipilih, atau lebar dapat dimasukkan. Untuk bidang int, ini adalah jumlah digit maksimum yang dapat berisi nilai dalam bidang ini.
  5. Untuk jenis bidang bilangan bulat (seperti int dan smallint), tombol radio *Opsi jenis* memungkinkan Anda memilih apakah nilai dalam bidang ini harus diisi kiri dengan nol (Isi dengan nol opsi), atau jika mereka harus tidak ditandatangani (Tidak ditandatangani pilihan). Jika Tidak ada dipilih, nilai akan ditandatangani dan tidak ada nol tambahan yang akan ditambahkan. Untuk bidang float, double, dan desimal, Opsi jenis yang sama juga ditampilkan tetapi tanpa Tidak Ditandatangani pilihan. Bidang jenis ini selalu ditandatangani. Untuk bidang char dan varchar, opsi Jenis memiliki dua pilihan berbeda - Peka huruf besar/kecil dan Tidak peka huruf besar/kecil . Jika tidak sensitif dipilih, kueri SQL yang cocok dengan nilai dalam bidang ini akan mengabaikan perbedaan huruf besar/kecil.
  6. Untuk mencegah nilai SQL NULL dimasukkan ke dalam bidang ini, ubah Izinkan null? masukan ke Tidak . Ini dapat berguna jika setiap catatan harus memiliki nilai untuk bidang ini, dan harus dipilih jika bidang ini akan menjadi bagian dari kunci utama untuk tabel.
  7. Untuk memasukkan nilai default saat record ditambahkan ke tabel dan tidak ada nilai yang ditentukan untuk bidang ini, isi Nilai default kolom tulisan. Secara alami, nilainya harus dari jenis yang benar untuk bidang tersebut. Jika tabel Anda sudah berisi beberapa baris, nilainya untuk bidang ini akan disetel ke apa pun yang Anda masukkan di sini saat bidang baru ditambahkan.
  8. Jika bidang ini akan menjadi kunci untuk tabel, ubah Bagian dari kunci utama? pilihan ke Ya . Lebih dari satu bagian bidang kunci, dalam hal ini merupakan kombinasi dari semuanya.
  9. Terakhir, klik Buat . Jika tidak ada kesalahan dalam input Anda, bidang tersebut akan ditambahkan ke tabel dan Anda akan dikembalikan ke halaman pengeditan tabel.

Bidang yang baru dibuat atau yang sudah ada dapat diedit juga, dengan mengikuti langkah-langkah di bawah ini. Namun, membuat perubahan pada tipe bidang atau mengurangi ukurannya dapat mengakibatkan hilangnya data jika nilai lama tidak kompatibel dengan tipe baru. Misalnya, mengonversi varchar ke int akan menyebabkan semua nilai non-numerik hilang - namun, mengonversi int ke varchar umumnya aman selama ukuran baru cukup besar.

  1. Pada halaman utama modul, klik ikon database yang berisi tabel, lalu klik ikon tabel. Ini akan memunculkan halaman yang ditunjukkan pada tangkapan layar di atas, yang mencantumkan nama, jenis, dan detail lain dari semua bidang yang ada.
  2. Klik pada nama bidang yang ingin Anda ubah untuk masuk ke formulir pengeditan bidang.
  3. Untuk menamai ulang bidang, edit Nama bidang kolom tulisan.
  4. Untuk mengubah jenis bidang, pilih yang baru dari menu *Jenis data*. Seperti dijelaskan di atas, ini harus dilakukan dengan hati-hati.
  5. Tergantung pada jenis saat ini, input yang berbeda akan ditampilkan untuk mengedit ukurannya. Ini adalah yang sama seperti yang dijelaskan pada langkah 4 dari instruksi pembuatan bidang di atas. Menambah ukuran bidang tidak akan merusak data apa pun yang ada di dalamnya, tetapi menguranginya akan menyebabkan nilai terpotong jika lebih panjang dari ukuran baru.
  6. Opsi jenis , Izinkan nol? , Nilai default dan Bagian dari kunci utama? input memiliki arti yang sama di sini seperti pada langkah pembuatan bidang. Ubah jika Anda ingin menyesuaikan opsi ini untuk bidang yang ada.
  7. Setelah selesai, tekan tombol Simpan tombol di bagian bawah formulir. Bidang akan segera diperbarui, dan data apa pun yang ada di dalamnya akan diubah atau dipotong sebagaimana mestinya.

Bidang yang ada dapat dihapus dengan mengeklik Hapus tombol pada formulir pengeditan bidang alih-alih Simpan . Setiap data yang dikandungnya akan langsung terhapus selamanya. Secara alami, Anda tidak dapat menghapus bidang terakhir dalam tabel.

Jenis bidang

MySQL mendukung sebagian besar jenis bidang yang sama seperti database SQL lainnya. Sumber informasi terbaik tentang tipe adalah dokumentasi MySQL resmi, di http://dev.mysql.com/doc/refman/4.1/en/data-types.html (forMySQL 3 dan 4), atau http://www .mysql.org/doc/refman/5.0/en/data-types.html (untuk MySQL 5).

Versi MySQL yang lebih baru dapat memperkenalkan lebih banyak tipe, tetapi Anda masih dapat mengedit data di bidang tipe yang tidak didukung.

Melihat dan mengedit isi tabel

Modul MySQL memungkinkan Anda untuk melihat isi dari tabel apapun dalam database apapun. Tabel yang memiliki kunci utama dapat memiliki catatan yang dimodifikasi atau dihapus dan yang baru ditambahkan juga. Sayangnya, tidak ada cara untuk mengedit isi tabel tanpa kunci, karena modul memerlukan beberapa cara untuk mengidentifikasi catatan tertentu. Semua tabel dalam database harus memilikinya.

Untuk melihat isi tabel, ikuti langkah berikut:

  1. Di halaman utama, klik ikon untuk database yang berisi tabel, lalu klik ikon untuk tabel itu sendiri.
  2. Pada formulir pengeditan tabel, klik tombol Lihat Data tombol di bagian bawah. Ini akan membawa Anda ke halaman yang berisi tabel dari 20 baris pertama dalam tabel.
  3. Jika tabel berisi lebih banyak baris daripada yang dapat ditampilkan pada satu halaman, awal dan akhir rentang yang terlihat dan jumlah total baris akan ditampilkan di bagian atas. Di sebelahnya ada panah kiri dan kanan untuk pindah ke 20 catatan berikutnya atau sebelumnya.
  4. Untuk tabel besar, formulir pencarian juga ditampilkan di bagian bawah halaman. Untuk menggunakannya, pilih nama bidang dari menu pertama, jenis perbandingan dari yang kedua dan masukkan nilai yang akan dicari ke dalam kotak teks terakhir. Saat Telusuri diklik, hanya baris yang cocok dengan bidang yang dipilih yang akan ditampilkan. Untuk beralih kembali untuk melihat semua catatan, klik Setel ulang pencarian link yang sekarang muncul di atas tabel. berisi jenis perbandingan menemukan catatan di mana bidang berisi teks yang dimasukkan, sedangkan cocok type menemukan catatan yang nilai bidangnya cocok dengan pola SQL seperti yang digunakan dalam klausa serupa. Dalam pola seperti itu, % cocok dengan string karakter apa pun, dan _ cocok dengan karakter tunggal apa pun - seperti * dan ? lakukan pada prompt shell.
  5. Saat melihat tabel besar, tombol berlabel Lompat ke juga ditampilkan di bagian bawah halaman. Jika sebuah angka dimasukkan ke dalam bidang yang berdekatan dan tombol diklik, tampilan akan langsung berpindah ke baris tersebut.

Jika tabel memiliki kunci utama, halaman yang sama ini juga dapat digunakan untuk mengedit, menghapus, atau menambahkan catatan. Rekaman yang akan diedit harus dipilih terlebih dahulu menggunakan kotak centang di sebelah kanan setiap baris, atau Pilih semua dan Balikkan pilihan link. Saat Anda mengklik tombol *Edit baris yang dipilih*, halaman akan ditampilkan kembali dengan nilai dari semua rekaman yang dipilih dalam kotak teks. Buat perubahan apa pun yang Anda suka, dan klik Simpan tombol di bagian bawah halaman untuk memperbarui database. Atau tekan Batal jika Anda ingin berhenti mengedit tanpa menyimpan modifikasi Anda.

Untuk menghapus catatan, pilih catatan tersebut menggunakan kotak centang dan tautan pilihan yang sama, lalu klik tombol Hapus baris yang dipilih tombol. Catatan yang dipilih akan segera dihapus dari database tanpa konfirmasi lebih lanjut.

Untuk menambahkan catatan baru, tekan tombol Tambahkan baris tombol di bawah tabel. Baris tambahan akan muncul berisi kotak teks kosong untuk Anda masukkan detail baru. Mengklik Simpan akan menambahkan catatan baru ke tabel, dan memindahkan tampilan sehingga Anda dapat melihat baris baru. Sebagai alternatif, Anda dapat mengeklik Batal jika Anda berubah pikiran tentang menambahkan catatan.

Biasanya, rekaman diedit atau ditambahkan di bidang teks yang muncul di tabel di kolom yang sesuai. Namun, jika Anda mengedit tabel yang berisi gumpalan atau bidang teks, atau jika opsi konfigurasi modul *Gunakan antarmuka penambahan baris vertikal* diaktifkan, tata letak yang berbeda akan digunakan. Sebagai gantinya, kotak teks untuk bidang dicantumkan dalam kotak terpisah di dalam atau di bawah tabel, dengan label nama bidang di sebelah kanan. Untuk bidang teks atau gumpalan, kotak teks ditampilkan sehingga Anda dapat memasukkan beberapa baris teks jika perlu.

Menghapus tabel dan database

Saat tabel dihapus dari database, semua catatan dan bidang yang dikandungnya akan hilang. Anda dapat menghapus tabel apa pun, meskipun menghapus tabel di database mysql adalah ide yang buruk karena berisi informasi kontrol akses MySQL yang penting. Untuk menghapusnya, langkah-langkah yang harus diikuti adalah:

  1. Pada halaman utama modul, klik ikon database yang ingin Anda hapus tabelnya, lalu pada ikon tabel itu sendiri.
  2. Klik Lepaskan Tabel tombol di bawah daftar bidang. Ini akan membawa Anda ke halaman konfirmasi yang menanyakan apakah Anda yakin dan memberi tahu Anda berapa banyak catatan yang akan dihapus.
  3. Untuk melanjutkan, klik Lepaskan Tabel tombol lagi. Setelah dihapus, Anda akan kembali ke daftar tabel yang masih ada di database.

Dimungkinkan juga untuk menghapus seluruh database dan semua tabel dan catatan di dalamnya. Basis data apa pun dapat dihapus, tetapi menghapus basis data mysql adalah ide yang sangat buruk. Seperti biasa, kecuali Anda telah membuat cadangan, tidak ada cara untuk membatalkan penghapusan.

Dengan asumsi Anda benar-benar ingin menghapus database, ikuti langkah-langkah berikut:

  1. Pada halaman utama, klik ikon database yang ingin Anda hapus.
  2. Tekan Lepaskan Basis Data tombol di bawah daftar tabel. Halaman konfirmasi akan ditampilkan, memberi tahu Anda berapa banyak tabel dan catatan yang akan hilang jika Anda melanjutkan.
  3. Untuk melanjutkan penghapusan, klik Lepaskan Basis Data tombol dan Anda akan kembali ke halaman utama modul setelah selesai.
  4. Sebagai alternatif, Anda dapat memilih untuk menghapus semua tabel dan catatannya dengan mengklik Hapus saja semua tabel sebagai gantinya. Basis data itu sendiri akan dibiarkan kosong.

Mengeksekusi perintah SQL

Modul MySQL juga menyediakan antarmuka sederhana untuk menjalankan perintah SQL pada database dan menampilkan outputnya. Langkah-langkah untuk menggunakannya adalah:

  1. Pada halaman utama, klik ikon database yang ingin Anda jalankan perintahnya.
  2. Klik pada Jalankan SQL tombol di bawah daftar ikon tabel. Ini akan membawa Anda ke halaman untuk memasukkan perintah SQL, menjalankan file perintah dan memuat data ke dalam database.
  3. Masukkan salah satu perintah SQL ke dalam kotak teks di bagian atas halaman dan tekan tombol Execute tombol. Jika ada kesalahan dalam sintaks SQL Anda atau perintah tidak dapat dijalankan, pesan kesalahan dari MySQL akan ditampilkan. Jika tidak, tabel hasil dari SQL (jika ada) akan ditampilkan. Hanya pernyataan SELECT yang menghasilkan hasil - UPDATE, INSERT, dan perintah lain yang memodifikasi catatan tidak.
  4. Saat Anda selesai melihat hasilnya, gunakan *Kembali ke formulir SQL Jalankan* untuk kembali ke formulir.
  5. Setiap perintah yang berhasil dieksekusi ditambahkan ke riwayat database. Anda dapat menjalankan kembali perintah SQL sebelumnya dengan membiarkan kotak teks kosong dan memilihnya dari menu di bawah, lalu menekan Execute . Untuk menghapus riwayat perintah, klik Hapus Riwayat tombol sebagai gantinya. Ini bisa berguna jika menjadi berantakan dengan pernyataan lama yang tidak perlu Anda gunakan kembali.

Halaman yang sama dapat digunakan untuk menjalankan beberapa perintah dari file teks dan menampilkan outputnya. Karena prosesnya sama persis dengan memulihkan cadangan, dijelaskan di bagian pemulihan Mencadangkan dan memulihkan database bagian di bawah.

Mencadangkan dan memulihkan basis data

MySQL Cadangkan semua Basis Data

Jika salah satu database Anda berisi informasi penting, itu harus dicadangkan secara teratur jika terjadi kegagalan disk atau kesalahan SQL yang menyebabkan hilangnya data. Ini juga merupakan ide yang baik untuk membuat cadangan sebelum melakukan beberapa operasi yang berpotensi berisiko, seperti mengubah jenis bidang atau menjalankan pernyataan SQL kompleks yang mengubah banyak catatan.

Untuk menggunakan modul untuk membuat cadangan, langkah-langkah yang harus diikuti adalah:

  1. Pada halaman utama, klik ikon database yang ingin Anda backup.
  2. Klik Cadangan Database tombol di bawah daftar tabel. Ini akan membawa Anda ke formulir untuk memasukkan tujuan dan opsi pencadangan.
  3. Dalam Cadangkan ke file , masukkan path file lengkap tempat penulisan cadangan, seperti /tmp/backup.sql . Jika file sudah ada, itu akan ditimpa.
  4. Untuk membatasi pencadangan hanya pada beberapa catatan, batalkan pilihan Semua baris' untuk bidang *Hanya baris cadangan yang cocok dengan klausa where* dan masukkan klausa SQL WHERE ke bidang yang berdekatan, misalnya foo ='bar . Ini hanya berfungsi jika klausa valid untuk semua tabel dalam database, jadi dalam contoh semua tabel harus memiliki foo bidang.
  5. Jika Tambahkan pernyataan tabel drop ke cadangan? bidang disetel ke Ya , cadangan akan menyertakan pernyataan SQL untuk menghapus tabel yang ada dengan nama yang sama saat memulihkan. Artinya, jika Anda memulihkannya di sistem lain, data di tabel tersebut akan diganti dengan data baru dari cadangan. Jika Tidak dipilih, data yang dipulihkan akan ditambahkan ke data yang sudah ada. Pilihan terbaik sangat tergantung pada apa yang Anda coba lakukan. Untuk pencadangan normal, Anda harus memilih Ya sehingga data yang rusak atau bertentangan dihapus saat cadangan dipulihkan. Namun, jika Anda mentransfer catatan ke sistem atau database lain Tidak harus dipilih sebagai gantinya sehingga catatan yang ada di tabel target tidak hilang.
  6. Untuk membuat cadangan, tekan tombol Cadangkan Sekarang tombol di bagian bawah formulir, dan halaman yang menunjukkan keberhasilan atau kegagalannya akan ditampilkan.

File cadangan MySQL sebenarnya hanyalah daftar pernyataan SQL CREATE TABLE dan INSERT yang ketika dijalankan mengembalikan database ke keadaan saat cadangan dibuat. Meskipun ini menggunakan lebih banyak ruang disk daripada format biner yang lebih terkompresi, ini memungkinkan Anda untuk dengan mudah melihat dan memodifikasi file jika Anda mau. Ini juga berarti bahwa file cadangan dapat digunakan pada sistem dengan arsitektur yang berbeda, karena file tersebut hanya berisi teks ASCII.

Jika Anda memiliki database yang digunakan untuk tujuan produksi yang penting, database tersebut harus dicadangkan secara teratur, misalnya sekali sehari. Daripada mengikuti petunjuk di atas setiap hari, Anda dapat menggunakan modul Pekerjaan Cron Terjadwal (dibahas dalam bab 10) untuk membuat pekerjaan yang melakukan pencadangan untuk Anda. Untuk mengetahui perintah apa yang harus dijalankan, gunakan instruksi di atas untuk membuat cadangan terlebih dahulu, lalu kunjungi modul Webmin Actions Log (dibahas dalam bab 54) untuk melihat perintah yang digunakan.

Setelah file cadangan dibuat, itu dapat dipulihkan di sistem yang sama atau di server lain yang menjalankan MySQL. Tergantung pada apa Tambahkan pernyataan tabel drop ke cadangan? bidang disetel ke waktu pencadangan, konten tabel apa pun yang ada dengan nama yang sama dengan yang ada di cadangan dapat dihapus. Oleh karena itu, Anda sebaiknya hanya memulihkan jika tabel tidak ada, atau berisi data yang kedaluwarsa atau tidak valid yang ingin Anda timpa.

Karena file cadangan hanyalah daftar pernyataan SQL, proses pemulihan hanya melibatkan menjalankan semua perintah dalam file. Ini berarti Anda juga dapat mengikuti langkah-langkah yang sama untuk menjalankan file dari perintah Anda sendiri:

  1. Pada halaman utama modul, klik ikon database tempat cadangan harus dipulihkan.
  2. Klik pada Jalankan SQL , dan gulir ke bawah ke bagian *Pilih file perintah SQL untuk dieksekusi di database*.
  3. Jika file cadangan ada di sistem yang menjalankan MySQL dan Webmin, pilih Dari file lokal pilihan dan masukkan path lengkap ke file ke dalam bidang teks yang berdekatan. Jika cadangan ada di PC yang menjalankan browser Anda, pilih *Dari file yang diunggah* dan gunakan Jelajahi tombol untuk memilih file cadangan.
  4. Tekan Jalankan untuk memulihkan cadangan atau menjalankan perintah SQL dalam file. Halaman yang mencantumkan semua output dari MySQL saat eksekusi berlangsung akan ditampilkan. Umumnya tidak akan ada kecuali terjadi kesalahan atau file berisi pernyataan SELECT.

Mengelola pengguna MySQL

Izin Pengguna MySQL

Server database MySQL Anda mengharuskan semua klien untuk mengotentikasi diri mereka sendiri dengan nama pengguna dan kata sandi sebelum mereka dapat menjalankan perintah SQL. Ini memiliki tabel pengguna, kata sandi, dan izinnya sendiri yang dikonsultasikan ketika klien mencoba masuk, daripada file pengguna Unix /etc/passwd dan /etc/shadow. Izin terperinci dapat ditentukan untuk setiap pengguna, untuk membatasi jenis pernyataan SQL yang dapat ia gunakan, host klien yang dapat ia sambungkan, dan database, tabel, dan bidang yang dapat ia modifikasi.

Biasanya setelah MySQL pertama kali diinstal, hanya pengguna root yang dapat login. Pengguna ini akan memiliki izin untuk mengakses semua database dan tabel dan melakukan semua tindakan, dan umumnya digunakan untuk tujuan administrasi saja. Jika Anda ingin menulis aplikasi yang menggunakan database, sebaiknya buat pengguna lain untuk tujuan itu dan atur aplikasi untuk login sebagai pengguna tersebut.

Instalasi MySQL standar juga membuat Anonim pengguna tanpa kata sandi dan akses ke database dimulai dengan tes. Pengguna khusus ini digunakan untuk setiap upaya masuk yang tidak ditemukan pengguna lain yang cocok. Pengguna anonim dijelaskan secara lebih rinci di bawah ini.

Buat Pengguna

Untuk menambahkan pengguna, langkah-langkah yang harus diikuti adalah:

  1. Pada halaman utama modul, klik Izin Pengguna ikon. Ini akan membawa Anda ke halaman yang mencantumkan pengguna yang ada, seperti yang ditunjukkan pada tangkapan layar di bawah.
  2. Klik tautan Buat pengguna baru di atas atau di bawah tabel untuk membuka formulir pembuatan pengguna.
  3. Di Nama Pengguna bidang, pilih tombol radio kedua dan masukkan nama untuk pengguna ini. Meskipun dimungkinkan untuk membuat beberapa entri pengguna dengan nama yang sama seperti yang dijelaskan nanti, entri baru ini harus unik.
  4. Dengan asumsi Anda ingin pengguna memiliki kata sandi, ubah Kata Sandi bidang ke Setel ke dan masukkan di bidang yang berdekatan. Jika Anda memilih Tidak ada , maka kata sandi tidak perlu diberikan, dan upaya masuk dengan kata sandi akan ditolak.
  5. Untuk mengizinkan pengguna ini masuk hanya dari host tertentu, pilih tombol radio kedua di Host bidang dan masukkan nama host ke dalam kotak teks. Nama host harus sama dengan yang dikembalikan oleh pencarian terbalik dari alamat IP klien, yang hampir selalu merupakan nama host lengkap seperti pc.example.com bukan hanya server . Anda dapat memasukkan alamat IP sebagai gantinya, atau nama host atau alamat IP pola SQL seperti %.example.com . Untuk mengizinkan pengguna terhubung hanya dari sistem yang sama dengan server database yang dijalankan, masukkan localhost sebagai tuan rumah. Jika Ada dipilih, pengguna ini akan dapat terhubung dari host mana pun. Be careful when creating a user who has a host specified - if he tries to connect from somewhere else and an Anonymous user exists with a matching host, he will be logged in as the Anonymous user instead!
  6. In the Permissions list, select the entries for the actions that you want the user to be able to perform. For an application user, being able to select, insert, update and delete records is usually enough. Un-trusted users should never be given permissions beyond Drop tables , as that would allow him to harm the database, access arbitrary files or enhance his own permissions. If a user does not have any permissions at all, he will be unable to connect unless some have been granted for a specific database or host (as explained in the next section).
  7. To create the user, click the Save button at the bottom of the page. The new MySQL login will be usable immediately, and will have access to all databases and tables with the permissions specified in step 6. See the next section in this chapter for information on how to restrict a user to only certain databases or tables.

When a client tries to login, MySQL searches for the first matching user and host in the list of users. The server always checks entries with specific hostnames before those that allow any host, and Anonymous user entries before those for a specific user. This means that a user may end up with the Anonymous permissions even though he is in the user list with greater privileges. Due to the confusion this can cause, I recommend deleting all anonymous user entries unless you fully understand their effects.

It is possible and even useful to have multiple entries for the same user in the list, as long as they have different hostnames. For example, if you want to allow the user fred to login from only clients server.example.com and www.foo.com , you would need to create two entries from fred with the Host field set differently. The should have the same password and permissions though, unless you want to require a different password or grant different permissions depending on the host the user is connecting from.

New and existing users can be edited by clicking on their names in the list, which brings up an editing form almost identical to the one used for creating a user. The only different is that the Password field has a Don't change option which is selected if the user has a password, and which tells Webmin to leave the password unchanged when the user is saved. After making changes, click the Save button at the bottom of the form to update the user in the database. Or to delete it, hit the Delete tombol. If there are multiple entries for the same user, you will have to update them all individually if changing the password or permissions.

Unless you have already created another administration user with full privileges, the root user should not be deleted. Because this Webmin module normally logs in a root itself, modifying or removing this user may force you to login to MySQL again as explained in the introduction to the module earlier in the chapter. By deleting the root user or removing its privileges, it is possible to deny yourself access to the database, which can only be fixed using command-line programs like mysqladmin.

Like many other modules, the MySQL Database Server module can be configured to automatically create, update or delete a MySQL user when the same thing happens to a corresponding Unix user. This can be useful if you allow some of the Unix users on your system to access databases, and want to keep their passwords and usernames synchronized.

To set up synchronization, the steps to follow are:

  1. On the module's main page, click on the User Permissions ikon. Scroll down to the form below the list of existing MySQL users.
  2. If you want a new MySQL user to be created for each new Unix user, check the Add a new MySQL user when a Unix user is added kotak. Then select the permissions that should be granted to the user from the list to the right. When a MySQL user is automatically added, its will be allowed to login from any host.
  3. If you want MySQL users to be renamed or have their passwords changed when the same thing happens to matching Unix users, check the *Update a MySQL user when the matching Unix user is modified* box. If more than one entry exists for the same user, they will all be effected.
  4. To have a MySQL user deleted at the same time as the Unix user of the same name, check the *Delete a MySQL user when the matching Unix user is deleted* box. If more than one entry exists for the same user, they will all be deleted.
  5. Click the Save button to make the new synchronization settings active.

Managing database, host, table and field permissions

Users created by following the instructions in the previous section have access to all databases on the server with the same permissions. However, it is possible to give a user access to only specific databases by following the steps below:

  1. Make sure the user does not have any permissions on the User Permissions page. Any that he has set here will apply to all databases, which is not what you want.
  2. On the module's main page, click on the Database Permissions ikon. This will bring up a list of users and the privileges they have for specific databases.
  3. Click on the Create new database permissions link above or below the list.
  4. In the form that appears, the Databases field controls which databases he will have access to. You can either select the Any radio button to grant permissions for all databases, select the second radio button to grant access to the database selected from the menu, or choose the final button to grant access to databases whose names match the SQL pattern entered into the adjacent field. Typically the second option is the one that you want to select, so that you can grant access to a single database. If the user should have access to more than one, you will need to add multiple database permissions entries.
  5. In the Username field, select the second radio button and enter the name of the MySQL user to whom access should be granted.
  6. The Hosts field allows you to choose which client host(s) the user will be able to connect to the database from. You should normally select Any , which gives him access from anywhere - unless the user himself is prevented from connecting from some hosts, explained in the Managing MySQL users section .
  7. From the Permissions list, select the privileges that the user should have for the chosen database. These will be added to any that are set for the user on the User Permissions page.
  8. Click the Save button to add and activate the new permissions. You will be returned to the database permissions list.

You can edit database permissions by clicking on a database name from the list. This will take you to an editing form identical to the creation form in which the database, username, hosts or permissions can be changed. The Save button saves and activates any changes, while the Delete button removes the permissions from the database.

When MySQL is first installed, database permissions for the Anonymous user in the test and test_% databases will be created automatically. Assuming the Anonymous user exists in the User Permissions page, these give anyone who can connect to MySQL access to records in those databases. Unless you are making use of anonymous logins, these database permissions can be safely deleted.

MySQL also allows permissions to be granted on databases to all users connecting from certain client hosts. This can be useful if you want to increase the privileges that a particular client system has, such as a web server connecting to your database server. To add host permissions, the steps to follow are:

  1. On the module's main page, click on the Host Permissions ikon. This will take you to a page listing existing permissions granted to client hosts, if any. When MySQL is installed, no permissions of this type are initially defined.
  2. Click on the Create new host permissions to bring up a form for adding a new host permissions entry.
  3. If the permissions should apply to all databases, select the Any radio button in the Databases field. If they are for only a specific database, select the second radio button and choose a database from the menu next to it. If you want to grant permissions to databases whose names match an SQL pattern, select the final radio button and enter the pattern into the adjacent text field.
  4. In the Hosts field, select the second radio button and enter a hostname, IP address or hostname or IP pattern (like %.example.com or 192.168.1.% ) into the field next to it. Selecting the Any button isn't particularly useful.
  5. From the Permissions menu, choose those privileges that will be granted to all users connecting to the chosen database from the specified host. These will be added to any other permissions that are granted on the User Permissions or Database Permissions pages.
  6. Click the Save button to activate the new client host permissions.

As usual, you can edit existing an host permissions entry by clicking on the database name from the list, editing fields and clicking Save . Or you can remove it with the Delete tombol.

MySQL also supports the granting of permissions to specific tables and fields to users connecting from certain hosts. Webmin allows you to set these up by clicking on the Table Permissions and Field Permissions icons on the main page. However, as they are quite complex and rarely used, they are not covered in this chapter.

Module access control

Normally a Webmin user who has access to the MySQL Database Server module can manage all databases and use all of the module's features. However, as WebminUsers explains it is possible to restrict what a user can do with a module. In this case, you can grant access to only certain databases, control the directory that backups can be written to, and restrict the creation and deletion of databases. This can be useful if various databases on your server are owned by different people, and you want to give each of them a Webmin login to manage only those that belong to them.

To set up this kind of module access control, the steps to follow are:

  1. In the Webmin Users module, click on MySQL Database Server next to the name of a user or group who has access to the module.
  2. On the access control form, change the Can edit module configuration? field to No . This is necessary to prevent the user changing the programs that the module uses for accessing the database.
  3. In the Databases this user can manage field, choose the Selected pilihan. Then select the databases he should have access to from the list below.
  4. Change the Can create new databases? field to No . There is no reason that a restricted user of this type should be able to add new databases.
  5. Unless you want the user to be able to delete his own databases, change the Can drop databases? field to No . Leaving it set to Yes is harmless though, as he will only be able to delete those that you have granted him access to.
  6. Change the Can stop and start MySQL server? field to No .
  7. If you want this Webmin user to be able to control access by MySQL users to his databases, change the Can edit permissions? field to Only for managed databases . This will give him access to the Database, Host, Table and Field Permissions pages, but limit him to viewing and editing entries for the databases he is granted access to. To deny access to MySQL permission management altogether, select No sebagai gantinya. Choosing Yes is a bad idea, as it would allow the user to create MySQL users with access to all databases on the server.
  8. If the Can edit table data? field is set to No , the user will not be able to create tables, edit fields, run SQL commands or make backups. Instead, he will only be able to use the module's record viewing and editing feature.
  9. When the Login to MySQL as field is set to *Username from Module Config*, all database actions performed by this user will be done as the MySQL user set in the module configuration, typically root. However, you may want the Webmin user to login as a less-privileged MySQL user as an additional security precaution. This way, even if the user finds a way to defeat the module's restrictions he will still not be able to execute SQL commands as root. To use a different login, select the Username option and enter a valid MySQL login and password into the adjacent fields. This alternate user must have the privileges to perform everything that the module needs to do though, such as creating tables and possibly granting permissions.
  10. Normally Webmin runs the mysqldump command to make backups as the root Unix user, and allows the backup file to be created anywhere on your system. Because this may allow important files to be overwritten, you should change the *Backup file directory* field to a safe directory for creating backups in, such as /home/someuser/backup . Better still, the Write backup as Unix user field should be changed to a user other than root, such as the Webmin user's Unix login. The mysqldump command will be run as this user instead, which prevents it from being used to overwrite files.
  11. Finally, to make the new access control restrictions active, click Save .

If you want to give a large number of users access to MySQL though a web interface, an alternative to configuring the Webmin module for each user is to install Usermin. It has a MySQL module with an identical interface, and can be easily configured to limit which databases are visible. See chapter 47 for more information.

Module Configuration

Module Configuration

Like many other modules, this one has several options that you can set by clicking on the Module Config link in the top-left corner of the main page. Those fields listed under *Configurable option* relate to the module's user interface and the method it uses to connect to the database, while those under *System configuration* define the paths to the MySQL programs and files.

Unless you have installed the database server in a different directory to the default for your operating system, fields in the second section do not generally need to be changed. This can happen if you installed MySQL from the source code instead of using the package supplied with your Linux distribution, or if you have two copies of MySQL installed and are configuring a clone of the module (covered in Webmin Configuration) to manage the second install.

If you have multiple copies of MySQL installed on your system, you should clone this module once for each server. The last three configuration options can then be customised to connect to each of the MySQL installs, which will probably be listening on different ports or use different socket files.


Webmin
  1. 5 Pengganti Gratis Terbaik untuk Server MySQL

  2. Cara Menginstal Mtop (Pemantauan Server Database MySQL) di CentOS 6

  3. Cara Mengizinkan Koneksi Jarak Jauh ke Server Database MySQL

  1. FAQ Penerapan MySQL

  2. Impor Database MySQL

  3. Impor Database ke Instans MySQL Lokal

  1. Instal MySQL Server 5.6 di CentOS

  2. Optimalkan database MySQL

  3. Cara Menginstal Server Database MySQL 8 di CentOS 8