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 CentOS 5 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.
Konfigurasi Sistem
Pastikan /etc/hosts
Anda file memiliki entri yang tepat, mirip dengan yang ditunjukkan di bawah ini:
- File:/ dll/host
1 2
127.0.0.1 localhost.localdomain localhost 12.34.56.78 servername.mydomain.com servername
Pastikan untuk mengganti alamat IP publik Linode Anda dengan “12.34.56.78” pada contoh di atas.
Menginstal MySQL
Berikan perintah berikut untuk memperbarui sistem Anda dan menginstal MySQL:
yum update
yum install mysql-server
/sbin/chkconfig --levels 235 mysqld on
Paket server MySQL akan diinstal di server Anda, bersama dengan dependensi dan pustaka klien. Jalankan MySQL dengan menjalankan perintah berikut:
service mysqld start
Konfigurasi MySQL
Setelah menginstal MySQL, Anda disarankan untuk menjalankan mysql_secure_installation
, sebuah program yang 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
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/my.cnf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 # Disabling symbolic-links is recommended to prevent assorted security risks; # to do so, uncomment this line: # symbolic-links=0 key_buffer = 16M max_allowed_packet = 1M thread_stack = 64K table_cache = 4 sort_buffer = 64K net_buffer_length = 2K bind-address = 127.0.0.1 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
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.
Jika Anda membuat perubahan pada konfigurasi MySQL, jalankan perintah berikut untuk memulai ulang:
service mysqld restart
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 1
Server version: 5.0.45 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Untuk membuat 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 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.
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, 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.
Mengatur Ulang Kata Sandi Root MySQL
Jika Anda lupa kata sandi root MySQL Anda, Anda dapat memulihkannya dengan mengeluarkan perintah berikut:
/etc/init.d/mysqld stop
mysqld_safe --skip-grant-tables &
mysql -u root
Bagian berikut dari pengaturan ulang kata sandi sekarang akan dilakukan dalam program klien MySQL:
USE mysql;
UPDATE user SET PASSWORD=PASSWORD("CHANGEME") WHERE USER='root';
FLUSH PRIVILEGES;
exit
Terakhir, restart MySQL dengan mengeluarkan:
service mysqld restart
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