Grant user ke tabel spesifik pada database spesifik

Suatu saat si kampret mendapat tugas untuk memberikan hak akses melihat, menambah, dan menghapus data kepada tole pada suatu database server, yang memuat ribuan database yang didalamnya terdapat ribuan tabel dengan hak untuk mengedit data pada tabel dengan awatabelpilihan_ yang terdapat pada semua database dengan nama awalan database_ . setelah di cek ternyata si kampret harus memberikan akses pada 10000 tabel kepada tole, karena si kampret adalah orang yang pemalas, dengan pengetahuan seadanya  dibuatlah baris kode berikut supaya si kampret dapat segera tidur setelah semalaman dia ga tidur gara – gara harus bekerja hingga larut malam.

mysql -u kampret -ppassword -e “show databases like ‘databasepilihan_%'” | xargs -I {} echo {} | sed 1d > dbpilihan

pada baris pertama sikampret yang kebetulan menggunakan linux mengambil nama database yang dipilih, yaitu nama-nama database yang akan dipilih tabelnya dan memasukkan hasilnya kedalam sebuah berkas berjudul dbpilihan

for i in $(cat dbpilihan) ; do mysql -u kampret -ppassword -e “show tables from $i like ‘tabelpilihan_%'” | xargs -I {} echo $i.{} | sed 1d; done > tblpilihan_

pada perintah selanjutnya si kampret melakukan pembacaan perbaris pada berkas dbpilihan yang digunakan untuk menyeleksi tabel yang akan diberikan hak aksesnya kepada tole, kemudian memasukkan hasilnya kedalam tblpilihan_

for i in $(cat tblpilihan_) ; do mysql -u kampret -ppassword -e “GRANT SELECT, INSERT, UPDATE, DELETE ON $i to ‘tole’@’%'” ; done

Pada perintah terakhir si kampret melakukan pembacaan pada berkas hasil dan dengan perulangan dia melakukan pemberian kekuasaan kepada tole. dengan 3 langkah diatas si kampret berhasil menghemat beberapa jam untuk melakukan grant user pada 10000 tabel yang berbeda.

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s