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 Ubuntu 10.04 LTS (Lucid) Linode. Untuk tujuan tutorial ini, kami akan menganggap 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. Jika Anda melakukan langkah-langkah ini sebagai pengguna standar dengan hak istimewa sudo, ingatlah untuk menambahkan “sudo” ke perintah yang ditunjukkan di bawah ini.
Konfigurasi Sistem Dasar
Pastikan /etc/hosts
Anda file berisi nilai yang masuk akal. Pada file contoh di bawah ini, Anda akan mengganti “12.34.56.78” dengan alamat IP Linode Anda, dan “servername.example.com” dengan nama domain Linode yang sepenuhnya memenuhi syarat (FQDN). Disarankan untuk menggunakan sesuatu yang unik dan mudah diingat untuk "nama server" dalam file ini.
- File:/ dll/host
1 2
127.0.0.1 localhost.localdomain localhost 12.34.56.78 servername.example.com servername
Selanjutnya, pastikan nama host Linode Anda disetel ke nilai pendek yang Anda tentukan di /etc/hosts
:
echo "servername" > /etc/hostname
hostname -F /etc/hostname
Untuk memastikan universe
repositori diaktifkan, ubah /etc/apt/sources.list
. Anda file untuk mencerminkan file contoh di bawah ini.
- File:/ etc/apt/sources.list
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
## main & restricted repositories deb http://us.archive.ubuntu.com/ubuntu/ lucid main restricted deb-src http://us.archive.ubuntu.com/ubuntu/ lucid main restricted deb http://security.ubuntu.com/ubuntu lucid-security main restricted deb-src http://security.ubuntu.com/ubuntu lucid-security main restricted ## universe repositories deb http://us.archive.ubuntu.com/ubuntu/ lucid universe deb-src http://us.archive.ubuntu.com/ubuntu/ lucid universe deb http://us.archive.ubuntu.com/ubuntu/ lucid-updates universe deb-src http://us.archive.ubuntu.com/ubuntu/ lucid-updates universe deb http://security.ubuntu.com/ubuntu lucid-security universe deb-src http://security.ubuntu.com/ubuntu lucid-security universe
Menginstal 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
untuk membantu mengamankan MySQL. Saat menjalankan mysql_secure_installation
, Anda akan diberikan kesempatan untuk mengubah kata sandi root MySQL, menghapus akun pengguna anonim, menonaktifkan login root di luar localhost, dan menghapus database pengujian. Anda disarankan untuk menjawab ya untuk opsi ini. Jika Anda diminta untuk memuat ulang tabel hak istimewa, pilih ya. Jalankan perintah berikut untuk menjalankan program:
mysql_secure_installation
Setelah menjalankan mysql_secure_installation
, MySQL aman dan siap dikonfigurasi.
Konfigurasi MySQL
Secara default, MySQL membuat beberapa asumsi tentang lingkungan server Anda sehubungan dengan memori. Untuk mengonfigurasi MySQL secara lebih konservatif, Anda perlu mengedit beberapa pengaturan di file konfigurasinya. File Anda akan terlihat seperti berikut:
- File:/ etc/mysql/my.cnf
1 2 3 4 5 6
key_buffer = 16M max_allowed_packet = 1M thread_stack = 64K table_cache = 4 sort_buffer = 64K net_buffer_length = 2K
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 tentang topik ini.
MySQL akan mengikat ke localhost (127.0.0.1) secara default. Silakan merujuk ke panduan akses jarak jauh MySQL kami yang aman untuk informasi tentang menghubungkan ke database Anda dengan klien lokal.
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 34
Server version: 5.1.41-3ubuntu12 (Ubuntu)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Jika Anda lupa kata sandi root, gunakan alat konfigurasi ulang paket untuk mengubah kata sandi tersebut:
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'@localhost IDENTIFIED BY 'changeme';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@localhost;
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 dan digunakan sebagai kunci utama), serta dua bidang untuk menyimpan nama pelanggan.
Secara default, akses ke database akan dibatasi untuk koneksi dari localhost. Untuk mengelola database Anda dengan aman dari lokasi yang jauh, ikuti panduan kami untuk mengelola mysql secara aman dengan terowongan SSH. Itu tidak praktik yang baik untuk menjalankan MySQL pada alamat IP publik Anda, kecuali Anda memiliki alasan yang sangat baik untuk melakukannya.
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