Jumat, 02 Agustus 2013

Sebenarnya perintah-perintah dasar mysql di linux ini akan berguna di sistem operasi apapun termasuk windows, mungkin hanya sedikit berbeda pada pen-deskripsian perintah saja. Jika anda adalah seorang System Administrator, maka jangan pernah berpikir anda bukanlah DB Admin ketika disuruh melakukan pekerjaan-pekerjaan yang sedikit berhubungan dengan database. Kemampuan inipun harus dipahami dan dimengerti oleh seorang System Administrator. Sebenarnya ada Phpmyadmin untuk melakukan pekerjaan-pekerjaan ini, tapi saya pribadi agak risih ketika bekerja dengan phpmyadmin. Karena tentu ruang database ini yang seharusnya berada di backend, berubah menjadi frontend. Seberapa kemungkinan akan bisa diretas? Sepertinya itu bergantung kepada nasib baik anda :)

Masuk Kedalam mysql

mysql -u <username> -p
Setelah kita menekan enter akan diminta password. Sebenarnya bisa memasukkan password langsung, caranya seperti ini
mysql -u <username> -p<password>


Cara Meng-export database


mysqldump -u <username> -p nama_database > /path/anda/menyimpan/hasil/export.sql
Sekali lagi, untuk password itu optional. Anda bisa langsung memasukkan seperti contoh pertama.


Cara Meng-import database


mysql -u <username> -p nama_database < /path/anda/menyimpan/file/yang/mau/diimport.sql

Cara Membuat user baru untuk mysql (Privileges)


Untuk langkah ini anda harus masuk terlebih dahulu kedalam mysql. Lalu selanjutnya ketik perintah ini

GRANT ALL ON nama_database.* TO ‘user’@’host’ IDENTIFIED BY ‘password’;

Contoh diatas adalah memberikan hak akses penuh kepada user baru yang anda buat dengan password yang anda berikan. Statement ALL untuk hak akses penuh, seperti READ, INSERT, DELETE, UPDATE. Anda bisa juga membatasi hak aksesnya dengan mengganti statement ALL menjadi SELECT. Dengan statement SELECT user baru yang anda buat hanya bisa melihat isi database. Tidak bisa melakukan INSERT, DELETE, UPDATE.

Statement .* diujung nama_database adalah menyatakan user tersebut berhak sepenuhnya atas semua tabel yang berada didalam database. Jika anda ingin membatasi sampai seberapa jauh hak akses user tersebut, anda bisa mengganti statement .* dengan .nama_tabel Contohnya :

GRANT ALL ON nama_database.nama_tabel TO ‘user’@’host’ IDENTIFIED BY ‘password’;

Jika anda ingin memberikan privileges sampai 3 atau 4 tabel, lakukan cara diatas berulang-ulang dengan nama tabel yang berbeda. Sesuaikan dengan kebutuhannya. Atau jika seandainya user tersebut hanya berhak melihat table-tabel tertentu, maka ganti statement ALL menjadi SELECT.

Selanjutnya statement host, ini mengindikasikan user tersebut berada dimana. Bisa di localhost, bisa diluar network (internet) atau didalam network (intranet). Cukup ganti host tersebut sesuai dengan kebutuhan anda.  Bisa diisi dengan domain, atau IP Address.  Host diluar localhost berarti anda harus merubah setting-an bind_address yang ada di file my.cnf. Kalau di Ubuntu file tersebut berada di /etc/mysql/my.cnf. Secara default bind_address hanya merujuk pada 127.0.0.1 atau localhost. Nah, rubah rule tersebut menjadi 0.0.0.0.

Cara Menghapus user mysql (drop privileges)


Jika sekiranya user yang anda buat sudah tidak pernah mengakses lagi, ada baiknya anda menghapus privileges dan usernya. Perintahnya seperti ini

DROP USER ‘user’@’host’;

Cara Mengubah password root mysql


mysqladmin -u root -p‘passwordlama’ password password_baru

Cara Melihat daftar user, host di msyql



Pertama, anda harus masuk kedalam mysql. Ikuti perintah-perintah ini
mysql -u root -p
mysql> use mysql;
mysql> select user,host from user;
Nanti akan muncul seperti ini :

+------------------+----------------+
| user             | host           |
+------------------+----------------+
| pentaho          | 10.1.1.16      |
| radius           | 10.1.1.17      |
| filelocker       | 10.1.1.18      |
| agus             | 10.64.0.251    |
| root             | 127.0.0.1      |
| root             | ::1            |
|                  | serverfarm     |
| root             | serverfarm     |
|                  | localhost      |
| debian-sys-maint | localhost      |
| delis            | localhost      |
| edam             | localhost      |
| root             | localhost      |
| sync             | localhost      |
+------------------+----------------+


Saya rasa cukup untuk sekarang, jika anda mempunyai pertanyaan bisa tuliskan di komentar. Dengan senang hati saya akan membantu :)

Semoga bermanfaat,
Salam penguin! :)