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

Terhubung ke MySQL dari Jarak Jauh

Ini adalah tutorial lanjutan. Hati-hati! Kami tidak dapat memberikan bantuan apa pun untuk proses ini dan kami juga tidak dapat membantu masalah apa pun yang disebabkan olehnya. Pastikan untuk mengambil cadangan server lengkap sebelum melanjutkan!

Terkadang berguna untuk mengaktifkan koneksi jarak jauh ke MySQL. Ini memungkinkan Anda untuk terhubung langsung ke MySQL di salah satu server Anda dari aplikasi atau klien MySQL yang berjalan di sistem yang berbeda.

Ada dua cara berbeda untuk mengakses MySQL dari jarak jauh:

  1. Menggunakan terowongan SSH.
  2. Mengaktifkan akses langsung ke MySQL dari sistem jarak jauh.

Menghubungkan ke MySQL Menggunakan SSH Tunnel

Menggunakan terowongan SSH adalah opsi termudah dan teraman untuk akses MySQL jarak jauh untuk tujuan pengembangan. Terowongan SSH akan membuatnya tampak seperti MySQL sedang berjalan di sistem lokal Anda. SSH melakukan ini dengan membuka port lokal dan dengan mulus mentransfer semua komunikasi melalui port tersebut ke MySQL yang berjalan di server Anda.

Untuk membuat terowongan SSH dari Mac atau Linux, Anda dapat menjalankan perintah SSH baris perintah dengan -L untuk mengaktifkan penerusan port lokal.

ssh -L localhost:2000:localhost:3306 serverpilot@SERVER_IP_ADDRESS

Pada contoh di atas, SSH akan membuka port 2000 pada sistem lokal Anda, dan Anda kemudian dapat berkomunikasi dengan MySQL dengan menghubungkan ke port lokal ini. Misalnya, Anda dapat terhubung menggunakan perintah MySQL:

mysql --protocol=tcp --host=localhost --port=2000 --user=DB_USER_NAME -p
Jangan tinggalkan --protocol=tcp atau MySQL mungkin secara diam-diam mengabaikan --host dan --port pilihan.

Anda juga dapat membuat terowongan SSH di Windows menggunakan Putty, klien SSH Windows yang populer.

Mengaktifkan Akses Langsung ke MySQL dari Sistem Jarak Jauh

Peringatan! Mengizinkan akses langsung ke MySQL meningkatkan risiko server Anda disusupi oleh penyerang. Peringatan! MySQL tidak menggunakan koneksi aman secara default. Manual MySQL memiliki info lebih lanjut tentang SSL dengan MySQL.

Langkah 1:Konfigurasi MySQL untuk mendengarkan di semua antarmuka.

Secara default, MySQL hanya mendengarkan koneksi di localhost , jadi langkah pertama adalah mengkonfigurasi ulang MySQL di server database Anda untuk mendengarkan di semua antarmuka. Untuk melakukan ini, masuk ke server Anda sebagai root .

Jika Anda menjalankan server Ubuntu 16.04 atau 18.04, edit file ini:

/etc/mysql/mysql.conf.d/mysqld.cnf

Untuk server 14,04 atau 12,04, edit file ini:

/etc/mysql/my.cnf

Temukan baris berikut di salah satu file:

bind-address = 127.0.0.1

Ubah bind-address ke 0.0.0.0 :

bind-address = 0.0.0.0

Simpan file ini dan kemudian jalankan perintah berikut sebagai root :

sudo service mysql restart

Langkah 2:Buka port TCP 3306 di firewall server Anda.

Firewall yang dikonfigurasi oleh ServerPilot memblokir semua akses ke MySQL dari luar server Anda. Jadi, Anda perlu menyesuaikan firewall Anda untuk mengizinkan akses ke MySQL.

Untuk membuka akses ke MySQL dari luar server Anda, lihat artikel kami tentang menyesuaikan firewall Anda.

Langkah Tambahan untuk EC2:Izinkan port TCP 3306 dalam grup keamanan Anda.

Jika ini adalah server EC2, Anda juga harus mengizinkan port 3306 di grup keamanan server Anda.

Konfigurasikan Aplikasi Anda untuk Menggunakan Host Jarak Jauh.

Setelah Anda menyiapkan server MySQL jarak jauh, Anda akan ingin mengonfigurasi aplikasi Anda untuk menggunakan host tersebut untuk transaksi database. Ini biasanya diatur di file konfigurasi aplikasi, dan kami akan menggunakan WordPress sebagai contoh kami.

Buka file wp-config.php aplikasi.

Di baris ini:

define('DB_HOST', 'localhost');

Ubah 'localhost' ke alamat IP server MySQL jarak jauh Anda atau nama host lengkap. Alamat IP biasanya akan menjadi pilihan yang lebih cepat dan lebih andal, karena tidak bergantung pada resolusi DNS.

Simpan file dan keluar, dan Anda sudah siap! Sekarang Anda dapat menguji aplikasi Anda untuk memastikannya berfungsi dengan benar.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 2 Cara Mendaftar semua Fungsi di MySQL

  2. MySQL Bandingkan Database

  3. MySQL - Kontrol baris mana yang dikembalikan oleh grup oleh

  4. MySQL SELECT saja bukan nilai nol

  5. Cara memunculkan kesalahan dalam fungsi MySQL