Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Server MySQL Mandiri

Dalam beberapa jenis penerapan, terutama di mana aplikasi dinamis yang kaya bergantung pada database besar, memisahkan server database dari server aplikasi dapat mengizinkan aplikasi Anda untuk menskalakan dan mengakomodasi basis pengguna yang jauh lebih besar. Menetapkan server terpisah untuk digunakan hanya oleh MySQL akan memungkinkan server web aplikasi menyajikan konten dengan lebih efisien, sementara server basis data akan dapat merespons lebih cepat.

Akibatnya, server database ini dapat lebih efektif mendukung penerapan dengan beban lalu lintas tinggi. Ini dapat membantu Anda mencapai kinerja yang lebih tinggi untuk berbagai aplikasi, dari paket populer seperti WordPress dan Drupal hingga aplikasi khusus yang ditulis dalam Ruby on Rails dan Django.

Prasyarat

Dalam panduan ini kita akan menggunakan dua Linodes. Perhatikan bahwa ini berbeda dari hanya menggunakan profil konfigurasi kedua pada akun Linode Anda yang ada, karena kedua server harus dijalankan pada waktu yang sama. Kami berasumsi Anda telah mengikuti panduan Menyiapkan dan Mengamankan Instans Komputasi untuk kedua Linode.

  • Untuk Linode yang menjalankan server web, selanjutnya server aplikasi, Anda harus sudah menginstal Apache (atau server web pilihan Anda). Untuk penginstalan baru, ikuti panduan LAMP untuk distribusi Anda. Panduan LAMP mencakup MySQL, yang tidak perlu Anda instal.
  • MySQL Linode khusus harus sudah menginstal MySQL. Ikuti panduan instalasi server database MySQL untuk distribusi Anda. Ingatlah bahwa Anda tidak perlu menginstal Apache di server MySQL khusus.

Juga, Anda akan ingin mengonfigurasi alias untuk alamat IP pribadi setiap Linode. Anda dapat mengikuti panduan Konfigurasi IP Statis Linux untuk bantuan dalam hal ini. Penting untuk dicatat bahwa kedua Linode harus berada di pusat data yang sama untuk jaringan pribadi untuk bekerja. Ini memungkinkan server untuk berkomunikasi tanpa menghitung lalu lintas terhadap kuota bandwidth bulanan Anda. Kedua Linode perlu di-boot ulang setelah mengonfigurasi alamat IP pribadi.

Edit /etc/hosts

Anda akan ingin membuat nama host untuk setiap mesin sehingga Anda dapat melacaknya nanti. Ini juga menghemat pekerjaan, jika Anda berada dalam situasi di mana Anda perlu mengubah alamat IP server. Edit /etc/hosts file untuk menyertakan pribadi Alamat IP dari setiap Linode. Gunakan kutipan berikut dari contoh /etc/hosts file sebagai contoh:

File:/ dll/host
1
> 127.0.0.1 localhost 192.168.192.168 mysql.example.com mysql 192.168.192.169 app.example.com app

Ingatlah untuk mengganti 192.168.192.168 dan 192.168.192.169 dengan alamat IP pribadi yang sebenarnya.

Meskipun langkah ini opsional, konfigurasikan hosts entri akan memungkinkan Anda untuk menghindari konfigurasi aplikasi hard coding ke alamat IP tertentu. Anda akan dapat dengan cepat memigrasikan aplikasi dan server database Anda ke server alternatif jika Anda harus mengubah alamat IP Anda.

Konfigurasi Server MySQL

Langkah selanjutnya adalah memodifikasi /etc/mysql/my.cnf file di server MySQL Anda untuk mendengarkan alamat IP pribadi Anda. Menggunakan editor favorit Anda, buka /etc/mysql/my.cnf file dan masukkan nama host dari database MySQL. Untuk contoh ini, nama host database MySQL adalah mysql . Temukan bind-address baris:

File:/ etc/mysql/my.cnf
1
bind-address = mysql

Sebagai alternatif, Anda dapat menggunakan alamat IP pribadi. Simpan file, dan jalankan perintah berikut untuk me-restart daemon MySQL:

/etc/init.d/mysql restart

Pemberian Akses Basis Data

Pada server database khusus, Anda perlu membuat nama pengguna dan kata sandi database dengan hak akses. Ini dimungkinkan melalui prompt MySQL. Berikan perintah berikut:

mysql -u root -p

Ini akan memberikan baris perintah MySQL. Keluarkan perintah berikut, menggantikan app dengan nama host Linode yang menjalankan server aplikasi dan kata sandi yang kuat sebagai pengganti “PASSWORD”:

CREATE DATABASE webapplications;

GRANT ALL ON webapplications.* TO [email protected]'app' IDENTIFIED BY 'PASSWORD';

Pada tahap ini aplikasi Anda berhasil mengakses database jarak jauh, dan Anda siap untuk mulai menggunakan server database.

Menggunakan Server Database

Mulai saat ini, semuanya sudah dikonfigurasi dan server database Anda siap menerima koneksi dari server web Anda. Anda sekarang harus dapat mengarahkan aplikasi Anda ke server MySQL tanpa insiden. Penting untuk diingat bahwa ketika menyiapkan aplikasi web untuk bekerja dengan server MySQL jarak jauh, Anda harus membuat pengguna dengan hak atas sistem jarak jauh (seperti yang ditunjukkan di atas).

Menggunakan MySQL pada server database terpisah sangat mirip dengan menjalankan server database lokal. Biasanya, aplikasi mengharuskan Anda untuk menentukan "nama host database", dan server database konvensional yang berjalan pada mesin lokal memiliki nama host localhost . Saat Anda memisahkan database dan server aplikasi, Anda perlu menentukan nama host, seperti yang ditetapkan di atas, dalam aplikasi.

Misalnya, pengaturan database inWordPress terdapat dalam wp-config.php file, dan nama host ditentukan dalam format berikut:

File:wp -config.php
1
2
/** MySQL hostname */
define('DB_HOST', 'mysql');

Perhatikan bahwa metode untuk menyetel nama host bervariasi dari satu aplikasi ke aplikasi lainnya. Selanjutnya, Anda dapat mengganti alamat IP spesifik dari server database, daripada menggunakan nama host seperti yang dikonfigurasi di /etc/hosts di atas.

Pertimbangkan juga untuk merujuk situs web eksternalMySQL untuk kueri khusus MySQL dan bantuan terkait.

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.

  • Panduan Aplikasi Web
  • Kerangka Aplikasi Web
  • Sistem Manajemen Basis Data

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - dapatkah saya membatasi waktu maksimum yang diizinkan untuk menjalankan kueri?

  2. Sertakan header saat menggunakan SELECT INTO OUTFILE?

  3. WAMP Tidak dapat mengakses di jaringan lokal 403 Dilarang

  4. Hitung desil dari frekuensi di MySQL

  5. Kolasi Case Sensitive di MySQL