MySQL adalah sistem manajemen basis data populer yang digunakan untuk aplikasi web dan server. Panduan ini akan memperkenalkan cara menginstal, mengkonfigurasi, dan mengelola MySQL pada Linode yang menjalankan Debian 7 (Wheezy).
Database MySQL yang besar membutuhkan memori yang cukup besar. Untuk alasan ini, kami merekomendasikan penggunaan High Memory Linode untuk pengaturan tersebut.
Catatan Panduan ini ditulis untuk pengguna non-root. Perintah yang memerlukan hak istimewa yang lebih tinggi diawali dengansudo
. Jika Anda tidak terbiasa dengansudo
perintah, Anda dapat memeriksa panduan Pengguna dan Grup kami.
Sebelum Anda Mulai
-
Pastikan Anda telah mengikuti panduan Memulai dan Mengamankan Server Anda, dan nama host Linode telah disetel.
Untuk memeriksa nama host Anda, jalankan:
hostname hostname -f
Perintah pertama harus menunjukkan nama host pendek Anda, dan perintah kedua harus menunjukkan nama domain yang sepenuhnya memenuhi syarat (FQDN).
-
Perbarui sistem Anda:
sudo apt-get update sudo apt-get upgrade
Instal MySQL
sudo apt-get install mysql-server
Selama proses instalasi, Anda akan diminta untuk mengatur kata sandi untuk pengguna root MySQL seperti yang ditunjukkan di bawah ini. Pilih kata sandi yang kuat dan simpan di tempat yang aman untuk referensi di masa mendatang.
MySQL akan mengikat ke localhost (127.0.0.1) secara default. Silakan merujuk ke panduan akses jarak jauh MySQL kami untuk informasi tentang menghubungkan ke database Anda dengan klien lokal.
Catatan Mengizinkan akses tak terbatas ke MySQL pada IP publik tidak disarankan, tetapi Anda dapat mengubah alamat yang didengarkannya dengan memodifikasibind-address
parameter di/etc/my.cnf
. Jika Anda memutuskan untuk mengikat MySQL ke IP publik Anda, Anda harus menerapkan aturan firewall yang hanya mengizinkan koneksi dari alamat IP tertentu.
Perkuat Server MySQL
Jalankan mysql_secure_installation
script untuk mengatasi beberapa masalah keamanan dalam instalasi MySQL default.
sudo mysql_secure_installation
Anda akan diberikan pilihan 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. Anda dapat membaca lebih lanjut tentang skrip di Manual Referensi MySQL.
Menggunakan MySQL
Alat standar untuk berinteraksi dengan MySQL adalah mysql
klien yang menginstal dengan mysql-server
kemasan. Klien MySQL digunakan melalui terminal.
Login Root
-
Untuk masuk ke MySQL sebagai pengguna root:
mysql -u root -p
-
Saat diminta, masukkan kata sandi root. Anda kemudian akan disajikan dengan header selamat datang dan prompt MySQL seperti yang ditunjukkan di bawah ini:
mysql>
-
Untuk membuat daftar perintah untuk prompt MySQL, masukkan
\h
. Anda kemudian akan melihat: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>
Buat Pengguna dan Database MySQL Baru
-
Pada contoh di bawah ini,
testdb
adalah nama database,testuser
adalah pengguna, danpassword
adalah kata sandi pengguna.create database testdb; create user 'testuser'@'localhost' identified by 'password'; grant all on testdb.* to 'testuser' identified by 'password';
-
Kemudian keluar dari MySQL.
exit
Buat Tabel Contoh
-
Masuk kembali sebagai
testuser
.mysql -u testuser -p
-
Buat tabel contoh bernama
customers
. Ini membuat tabel dengan bidang ID pelanggan dengan tipeINT
untuk bilangan bulat (bertambah otomatis untuk catatan baru, digunakan sebagai kunci utama), serta dua bidang untuk menyimpan nama pelanggan.use testdb; create table customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
-
Kemudian keluar dari MySQL.
exit
Setel Ulang Kata Sandi Root MySQL
Jika Anda lupa kata sandi root MySQL Anda, itu dapat direset.
-
Hentikan instance server MySQL saat ini.
sudo /etc/init.d/mysql stop
-
Gunakan dpkg untuk menjalankan kembali proses konfigurasi yang dilakukan MySQL pada instalasi pertama. Anda akan diminta lagi untuk menyetel kata sandi root.
sudo dpkg-reconfigure mysql-server-5.5
dpkg akan memulai ulang MySQL secara otomatis dan Anda dapat masuk menggunakan mysql -u root -p
.
Tune MySQL
MySQL Tuner adalah skrip Perl yang terhubung 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.
-
Instal MySQL Tuner dari repositori Ubuntu.
sudo apt-get install mysqltuner
-
Untuk menjalankannya:
mysqltuner
Anda akan dimintai nama dan kata sandi pengguna root MySQL. Keluaran akan menunjukkan dua bidang minat:Rekomendasi umum dan Variabel untuk disesuaikan.
MySQL Tuner adalah titik awal yang sangat baik untuk mengoptimalkan server MySQL tetapi akan lebih bijaksana untuk melakukan penelitian tambahan untuk konfigurasi yang disesuaikan dengan aplikasi yang menggunakan MySQL di Linode Anda.
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.5
- Manual PHP MySQL
- Contoh Perl DBI untuk DBD::mysql
- Panduan Pengguna MySQLdb
- Tutorial Penyetel MySQL