Tidak sama dengan
proyek-proyek seperti Apache, dimana perangkat lunak dikembangkan
oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh
penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah
perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta
hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang
Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan
Larsson, dan Michael "Monty" Widenius.
Keistimewaan MySQL
MySQL memiliki
beberapa keistimewaan, antara lain :
Portabilitas.
MySQL dapat berjalan stabil pada berbagai sistem operasi seperti
Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih
banyak lagi.
Perangkat lunak
sumber terbuka. MySQL didistribusikan sebagai perangkat lunak
sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara
gratis.
Multi-user.
MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang
bersamaan tanpa mengalami masalah atau konflik.
'Performance
tuning', MySQL memiliki kecepatan yang menakjubkan dalam
menangani query sederhana, dengan kata lain dapat memproses lebih
banyak SQL per satuan waktu.
Ragam tipe data.
MySQL memiliki ragam tipe data yang sangat kaya, seperti signed /
unsigned integer, float, double, char, text, date, timestamp, dan
lain-lain.
Perintah dan
Fungsi. MySQL memiliki operator dan fungsi secara penuh yang
mendukung perintah Select dan Where dalam perintah (query).
Keamanan. MySQL
memiliki beberapa lapisan keamanan seperti level subnetmask, nama
host, dan izin akses user dengan sistem perizinan yang mendetail
serta sandi terenkripsi.
Skalabilitas dan
Pembatasan. MySQL mampu menangani basis data dalam skala besar,
dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel
serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung
mencapai 32 indeks pada tiap tabelnya.
Konektivitas. MySQL
dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP,
Unix soket (UNIX), atau Named Pipes (NT).
Lokalisasi.
MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan
lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia
belum termasuk di dalamnya.
Antar Muka. MySQL
memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa
pemrograman dengan menggunakan fungsi API (Application Programming
Interface).
Klien dan
Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool)yang
dapat digunakan untuk administrasi basis data, dan pada setiap
peralatan yang ada disertakan petunjuk online.
Struktur tabel.
MySQL memiliki struktur tabel yang lebih fleksibel dalam
menangani ALTER TABLE, dibandingkan basis data lainnya semacam
PostgreSQL ataupun Oracle.
Bahasa pemrograman
Terdapat beberapa API
(Application Programming Interface) tersedia yang memungkinkan
aplikasi-aplikasi komputer yang ditulis dalam berbagai bahasa
pemrograman untuk dapat mengakses basis data MySQL antara lain:
bahasa pemrograman C, C++, C#, bahasa pemrograman Eiffel, bahasa
pemrograman Smalltalk, bahasa pemrograman Java, bahasa pemrograman
Lisp, Perl, PHP, bahasa pemrograman Python, Ruby, REALbasic dan Tcl.
Sebuah antarmuka ODBC memanggil MyODBC yang memungkinkan setiap
bahasa pemrograman yang mendukung ODBC untuk berkomunikasi dengan
basis data MySQL. Kebanyakan kode sumber MySQL dalam ANSI C.
Adapun tujuan dari
pembuatan database adalah sebagai beikut:
1. Menyediakan
penyimpanan data untuk dapat digunakan oleh organisasi saat sekarang
dan masa yang akan datang.
2. Cara pemasukan data
sehingga memudahkan tugas operator dan menyangkut pula waktu yang
diperlukan oleh pemakai untuk mendapatkan data serta hak-hak yang
dimiliki terhadap data yang ditangani.
3. Pengendalian data
untuk setiap siklus agar data selalu up-to-date dan dapat
mencerminkan perubahan spesifik yang terjadi di setiap sistem.
4. Pengamanan data
terhadap kemungkinan penambahan, modifikasi, pencurian dan
gangguan-gangguan lain.
1.2 Permasalahan
Database
Disaat kita membuat
suatu database, kita harus memperhatikan beberapa hal. Tidaklah untuk
mendesain database, ada yang harus diperhatikan disaat mendesain
database untuk mengurangi kesalahan-kesalahan yang akan mungkin
terjadi. Kesalahan dalam mendesain database dapat menyebabkan masalah
di kemudian hari. Permasalahan-permasalahan yang mungkin terjadi
ketika kita mendesain sebuah database adalah
1.2.2 Redundansi
Pengertian redudansi
adalah sebuah data yang diulang beberapa kali, apabila ada data yang
diulang-ulang, maka data itu dikatakan tidak baik, karena informasi
yang dihasilkan akan membuat bingun seorang user yang menggunakannya.
Untuk mendesai sebuah database yang baik adalah memperkecil data yang
disimpan berulang kali, tanpa kehilangan data yang diperlukan
1.2.3 Anomali
Anomali adalah
kesalahan-kesalahan dalam memanupulasi sebuah data yang disebabkan
oleh desain database yang kurang baik. Anomali dapat diperkecil
dengan pembuatan desain database yang baik
Anomali terbagi
menjadi 3 jenis, yaitu
1. Insert Anomali
(Anomali pemasukan data)
Anomali pemasukan data
adalah kesalahan-kesalahan dalam memasukkan sebuah data yang
disebabkan oleh desain database yang kurang baik
2. Delete Anomali
(Anomali penghapusan data)
Anomali penghapusan
data adalah kesalahan-kesalahan dalam melakukan operasi penghapusan
data akibat desain database yang kurang baik.
3. Update Anomali
(Anomali pengubahan data)
Update anomali adalah
kesalahan-kesalahan dalam melakukan operasi pengubahan data akibat
desain database yang kurang baik
CONTOH COMMAND
Menginstal MySQL
Server
sudo
apt-get install mysql-server
Mengganti Password
Root
mysqladmin
-u root -p passswordlama password 'inipasswordbaru'
Membuat Database
mysqladmin
-u root -p password create database namadatabase
Kita cek menggunakan
mysql client. Contoh keluaran,
mysql
-u root -p
Enter
password:
Welcome
to the MySQL monitor. Commands end with ; or \g.
Your
MySQL connection id is 62974
Server
version: 5.0.51a-3ubuntu5.4 (Ubuntu)
Type
'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
show databases;
+--------------------+
|
Database |
+--------------------+
|
information_schema |
|
mysql |
|
namadatabase |
|
openx |
|
wiki |
+--------------------+
5
rows in set (0.00 sec)
mysql>
Menghapus Database
mysqladmin
-u root -p password drop database namadatabase
Memberi Hak Akses
Jalankan mysql client,
mysql
-u root -p
Lalu di prompt mysql
client, ketikkan perintah berikut. Ingat sesuaikan dengan nama
database yang mau di set.
CREATE
USER 'namauser'@'localhost' IDENTIFIED BY 'my_password';
GRANT
ALL PRIVILEGES ON namadatabase.* TO 'namauser'@'localhost';
FLUSH
PRIVILEGES;
Untuk contoh lain,
lihat di bagian selanjutnya. Cara memberi hak akses untuk remote
user.
Mengakses Database
dari Remote
Pertama, sunting
berkas /etc/mysql/my.cnf. Cari bari berikut:
bind-address
= 127.0.0.1
Ganti
menjadi seperti di bawah ini. Asumsi IP server = 192.168.1.5
bind-address
= 192.168.1.5
Setelah
itu, restart service mysql,
sudo
/etc/init.d/mysql restart
Selanjutnya Anda harus
membuat user yang bisa digunakan dari remote client. Misal, IP yang
akan mengakses ke server adalah 192.168.1.100 dan satu network
192.168.2.0/24.
Maka yang perlu Anda
lakukan adalah, jalankan mysql client.
mysql
-u root -p
Di prompt mysql, ketik
seperti contoh di bawah ini.
GRANT
ALL ON namadatabase.* to 'namauser'@'192.168.1.100' IDENTIFIED BY
'inipassword';
GRANT
ALL ON namadatabase.* to 'namauser'@'192.168.2.%' IDENTIFIED BY
'inipassword';
FLUSH
PRIVILEGES;
Mengetahui Versi MySQL
mysqladmin
-u root -p password version
Melakukan Ping
mysqladmin
-u root -p password ping
Melihat Status MySQL
dengan Lebih Detail
mysqladmin
-u root -p password extended-status
Contoh keluaran,
+-----------------------------------+------------+
|
Variable_name | Value |
+-----------------------------------+------------+
|
Aborted_clients | 0 |
|
Aborted_connects | 2 |
|
Binlog_cache_disk_use | 0 |
|
Binlog_cache_use | 0 |
|
Bytes_received | 459162673 |
|
Bytes_sent | 1128082649 |
|
Com_admin_commands | 129 |
|
Com_alter_db | 0 |
|
Com_alter_table | 78 |
|
Com_analyze | 0 |
|
Com_backup_table | 0 |
|
Com_begin | 817 |
|
Com_call_procedure | 0 |
...
Melihat Nilai Variable
Sistem
mysqladmin
-u root -pinipassword variables
Contoh keluaran,
+---------------------------------+-----------------------------+
|
Variable_name | Value |
+---------------------------------+-----------------------------+
|
auto_increment_increment | 1 |
|
auto_increment_offset | 1 |
|
automatic_sp_privileges | ON |
|
back_log | 50 |
|
basedir | /usr/ |
|
binlog_cache_size | 32768 |
|
bulk_insert_buffer_size | 8388608 |
|
character_set_client | latin1 |
|
character_set_connection | latin1 |
|
character_set_database | latin1 |
|
character_set_filesystem | binary |
|
character_set_results | latin1 |
|
character_set_server | latin1 |
|
character_set_system | utf8 |
|
character_sets_dir | /usr/share/mysql/charsets/ |
|
collation_connection | latin1_swedish_ci |
|
collation_database | latin1_swedish_ci |
|
collation_server | latin1_swedish_ci |
...
Membackup Database
mysqldump
-u root -pinipassword namadatabase > file_namadatabase.sql
mkasih tambahannya hanum
ReplyDeleteArtikelnya keren dan bermanfaat banget.. :D kunjungi juga yaah
ReplyDeletehttps://ayulestari27.wordpress.com