MySQL adalah sistem manajemen basis data yang populer, digunakan sebagai penyedia penyimpanan data untuk ribuan aplikasi web dan server. Panduan ini akan membantu pemula memulai dengan MySQL pada Debian 6 (Squeeze) Linode. Untuk tujuan tutorial ini, diasumsikan bahwa Anda telah mengikuti langkah-langkah yang diuraikan dalam Menyiapkan dan Mengamankan Instans Komputasi, bahwa sistem Anda mutakhir, dan bahwa Anda telah masuk ke Linode sebagai root melalui SSH.
Instal MySQL
Pastikan repositori paket dan program terinstal Anda mutakhir dengan mengeluarkan perintah berikut:
apt-get update
apt-get upgrade --show-upgraded
Mulailah dengan mengeluarkan perintah berikut di terminal Anda:
apt-get install mysql-server
Anda akan diminta untuk mengatur kata sandi untuk pengguna root MySQL. Pilih kata sandi yang kuat dan simpan di tempat yang aman untuk referensi di masa mendatang.
Paket server MySQL akan diinstal di server Anda, bersama dengan dependensi dan pustaka klien. Setelah menginstal MySQL, Anda disarankan untuk menjalankan mysql_secure_installation
, sebuah program yang membantu mengamankan MySQL. Ini memberi Anda opsi untuk menonaktifkan login root dari luar localhost, menghapus akun pengguna anonim, dan menghapus database pengujian. Selain itu, ini memungkinkan Anda untuk mengatur kata sandi root Anda. Jalankan perintah berikut untuk menjalankan program:
mysql_secure_installation
Konfigurasi MySQL
Secara default, MySQL membuat beberapa asumsi tentang lingkungan server Anda sehubungan dengan memori. Untuk mengkonfigurasi MySQL secara lebih konservatif, Anda perlu mengedit beberapa pengaturan di file konfigurasi (/etc/mysql/my.cnf
) sebagai berikut:
- File:/ etc/mysql/my.cnf
1 2 3 4 5 6
key_buffer = 16M max_allowed_packet = 1M thread_stack = 128K table_cache = 4 sort_buffer = 64K net_buffer_length = 2K
Keluarkan perintah berikut untuk me-restart MySQL setelah melakukan perubahan konfigurasi:
/etc/init.d/mysql restart
Pengaturan ini hanya nilai yang disarankan untuk lingkungan memori rendah; jangan ragu untuk menyetelnya ke nilai yang sesuai untuk server Anda. Lihat bagian “Informasi Lebih Lanjut” di akhir tutorial ini untuk sumber daya tambahan untuk topik ini.
MySQL akan mengikat ke localhost (127.0.0.1) secara default. Mengizinkan akses tak terbatas ke MySQL pada IP publik tidak disarankan, tetapi Anda dapat mengubah alamat yang didengarkannya dengan memodifikasi bind-address
parameter. Jika Anda memutuskan untuk mengikat MySQL ke IP publik Anda, Anda harus menerapkan aturan firewall yang hanya mengizinkan koneksi dari alamat IP tertentu.
Menggunakan MySQL
Alat standar untuk berinteraksi dengan MySQL adalah mysql
program klien. Untuk memulai, jalankan perintah berikut pada prompt Anda:
mysql -u root -p
Anda akan diminta untuk memasukkan kata sandi pengguna root MySQL. Masukkan kata sandi yang Anda tetapkan saat Anda menginstal MySQL, dan Anda akan disajikan dengan tampilan monitor MySQL:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 36
Server version: 5.1.49-3 (Debian)
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Jika Anda lupa kata sandi root Anda, gunakan alat konfigurasi ulang paket Debian untuk mengubah kata sandi itu:
dpkg-reconfigure mysql-server-5.1
Untuk menghasilkan daftar perintah untuk MySQL prompt ketik \h
:
List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
? (\?) Synonym for `help'.
clear (\c) Clear the current input statement.
connect (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter.
edit (\e) Edit command with $EDITOR.
ego (\G) Send command to mysql server, display result vertically.
exit (\q) Exit mysql. Same as quit.
go (\g) Send command to mysql server.
help (\h) Display this help.
nopager (\n) Disable pager, print to stdout.
notee (\t) Don't write into outfile.
pager (\P) Set PAGER [to_pager]. Print the query results via PAGER.
print (\p) Print current command.
prompt (\R) Change your mysql prompt.
quit (\q) Quit mysql.
rehash (\#) Rebuild completion hash.
source (\.) Execute an SQL script file. Takes a file name as an argument.
status (\s) Get status information from the server.
system (\!) Execute a system shell command.
tee (\T) Set outfile [to_outfile]. Append everything into given outfile.
use (\u) Use another database. Takes database name as argument.
charset (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
warnings (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.
For server side help, type 'help contents'
mysql>
Mari buat database dan tetapkan pengguna untuk itu. Berikan perintah berikut pada prompt MySQL:
CREATE DATABASE testdb;
CREATE USER 'testuser' IDENTIFIED BY 's8723hk2';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser';
exit
Sekarang mari masuk kembali ke klien MySQL sebagai testuser
dan buat tabel sampel yang disebut "pelanggan." Berikan perintah berikut:
mysql -u testuser -p
USE testdb;
CREATE TABLE customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
Ini membuat tabel dengan bidang ID pelanggan bertipe INT untuk bilangan bulat (bertambah otomatis untuk catatan baru, digunakan sebagai kunci utama), serta dua bidang untuk menyimpan nama pelanggan. Tentu saja, Anda mungkin ingin menyimpan lebih banyak informasi daripada ini pada pelanggan, tetapi ini adalah contoh yang baik dari kasus umum.
Informasi Lebih Lanjut
Anda mungkin ingin berkonsultasi dengan sumber daya berikut untuk informasi tambahan tentang topik ini. Meskipun ini disediakan dengan harapan dapat bermanfaat, harap perhatikan bahwa kami tidak dapat menjamin keakuratan atau ketepatan waktu materi yang dihosting secara eksternal.
- Manual Referensi MySQL 5.1
- Manual PHP MySQL
- Contoh Perl DBI untuk DBD::mysql
- Panduan Pengguna MySQLdb