MySQL adalah sistem manajemen basis data relasional (RDBMS) yang digunakan sebagai backend untuk aplikasi web dan server yang tak terhitung jumlahnya. Awalnya dirilis pada tahun 1995, tetap menjadi pilihan populer bagi pengembang sebagai server database.
Sebelum memulai panduan ini, harap pastikan bahwa Anda telah menyelesaikan langkah-langkah yang diuraikan dalam Menyiapkan dan Mengamankan Instans Komputasi. Selain itu, pastikan Anda masuk ke sistem Anda sebagai pengguna root.
Menginstal MySQL
Keluarkan perintah berikut untuk memastikan bahwa repositori paket Anda mutakhir:
emerge --sync
Perintah berikut akan memperbarui semua paket dan ketergantungannya pada sistem. Jika Anda tidak nyaman menjalankan perintah ini, Anda dapat melewatinya atau menggunakan emerge --update world
:
emerge --update --deep world
Keluarkan perintah berikut untuk menginstal MySQL:
emerge dev-db/mysql
Setelah proses ini selesai, Anda juga perlu menginstal database yang digunakan MySQL. Berikan perintah berikut:
mysql_install_db
Anda sekarang siap untuk memulai server MySQL untuk pertama kalinya:
/etc/init.d/mysql start
Anda harus menjalankan mysql_secure_installation
untuk mengatur kata sandi root dan mengamankan instance MySQL Anda. Berikan perintah berikut:
mysql_secure_installation
Jika Anda ingin MySQL berjalan saat sistem boot, jalankan perintah berikut:
rc-update add mysql default
Konfigurasi MySQL
Secara default, MySQL mengikat ke localhost. Jika Anda ingin MySQL untuk mendengarkan pada IP publik, Anda dapat mengubah bind-address
nilai dalam /etc/mysql/my.cnf
untuk mencerminkan alamat IP Linode Anda. Mengizinkan akses tidak terbatas ke MySQL pada IP publik tidak disarankan, dan Anda mungkin ingin mempertimbangkan untuk menerapkan aturan firewall untuk hanya mengizinkan lalu lintas dari alamat IP tertentu.
Saran yang tercantum di atas mungkin tidak sesuai untuk semua lingkungan, jadi pastikan aplikasi Anda tidak memerlukan pengaturan yang berbeda. Silakan lihat sumber daya tambahan di bagian “Informasi Lebih Lanjut” dari panduan ini untuk dokumentasi yang lebih lengkap tentang konfigurasi MySQL.
Setiap kali Anda mengubah pengaturan di /etc/mysql/my.cnf
, Anda perlu me-restart server MySQL. Berikan perintah berikut:
/etc/init.d/mysql restart
Menggunakan MySQL
Sebagian besar interaksi dengan MySQL terjadi melalui mysql
utilitas baris perintah. Keluarkan perintah berikut untuk berinteraksi dengan MySQL:
mysql -u root -p
Saat diminta, masukkan kata sandi yang Anda buat selama mysql_secure_installation
proses. Setelah Anda melakukannya, Anda akan disambut dengan prompt MySQL:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.1.51-log Gentoo Linux mysql-5.1.51
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 MySQL Anda di kemudian hari, itu dapat diatur ulang dengan urutan perintah berikut:
/etc/init.d/mysql stop
mysqld_safe --skip-grant-tables --skip-networking &
mysqladmin -u root
Setelah Anda login, masukkan perintah berikut pada prompt MySQL:
USE mysql;
UPDATE user SET PASSWORD=PASSWORD("CHANGEME") WHERE User='root';
FLUSH PRIVILEGES;
exit
Untuk melihat daftar perintah yang tersedia (tidak sintaks SQL), terbitkan \h
pada perintah MySQL:
List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
? (\?) Synonym for `help'.
clear (\c) Clear command.
connect (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter. NOTE: Takes the rest of the line as new 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.
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.
Menyetel MySQL
MySQL Tuner adalah alat yang berguna yang menghubungkan ke instance MySQL yang sedang berjalan dan memberikan rekomendasi konfigurasi berdasarkan beban kerja. Idealnya, instance MySQL harus telah beroperasi setidaknya selama 24 jam sebelum menjalankan tuner. Semakin lama instance berjalan, semakin baik saran yang akan diberikan oleh MySQL Tuner.
Untuk menginstal MySQL Tuner, jalankan perintah berikut:
emerge dev-db/mysqltuner
Untuk menjalankan MySQL Tuner cukup masukkan:
mysqltuner
Harap dicatat bahwa alat ini dirancang untuk memberikan saran konfigurasi dan merupakan titik awal yang sangat baik. Akan lebih bijaksana untuk melakukan penelitian tambahan untuk menyetel konfigurasi berdasarkan aplikasi yang menggunakan MySQL.
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