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

Tidak dapat terhubung dari jarak jauh ke instalasi MySQL EC2

alat terbaik yang saya temukan adalah sqlyog, (mungkin juga mysql workbench), yang sebenarnya akan memberi tahu nama host asal Anda pada koneksi yang gagal.

Alasan saya menyukainya adalah karena keamanannya tetap ketat, menunjukkan sesuatu seperti Akses ditolak untuk pengguna "

itu penting karena nama host itu (hdm38.newyork.comcastbusiness.net ) adalah yang saya gunakan selama mysql create user dibandingkan menggunakan wildcard seperti %

Saya membiarkan koneksi di atas gagal, tetapi saya perhatikan apa nama host di atas. Anda akan melihatnya di bawah.

Daftar periksa cepat

1) pengguna jarak jauh Anda terhubung melalui akun yang dibuat dengan user,host yang sesuai entri (lihat output dari select user,host from mysql.user order by 1,2 )

CREATE USER 'santa'@'hdm38.newyork.comcastbusiness.net' IDENTIFIED BY 'mypassword';

Dengan perintah di atas kami sekarang memiliki pengguna baru yang memiliki kesempatan untuk masuk. Tidak dapat melakukan apa-apa. Tidak dapat mengubah ke db. Pada dasarnya mereka hanya dapat melakukan hal-hal seperti select now();

2) Anda telah melakukan grants dengan flush privileges (setidaknya yang pertama)

GRANT ALL PRIVILEGES ON mydb123.* TO 'santa'@'hdm38.newyork.comcastbusiness.net';

Pengguna kami dengan perintah di atas sekarang dapat melakukan apa saja di database/skema mydb123. Jelajahi perintah Grant di atas dalam manual untuk menyempurnakan akses ke minimum bagi pengguna yang Anda buat.

Jika Anda baru mengenal keamanan mysql, jangan sertakan WITH GRANT OPTION sampai Anda menelitinya.

Ada orang-orang yang akan mengatakan bahwa nama host di atas menjadi '%' untuk langkah 1 dan 2. Itu berarti santa dapat terhubung dari host mana pun. Pilihan ada padamu. Mulailah dengan kencang, kendurkan setelah Anda mencapai suatu tempat dan telah melakukan penelitian tentangnya.

3) Anda telah memodifikasi my.cnf dan mengubah bind-address jauh dari 127.0.0.1 atau localhost , mendukung 0.0.0.0

Jika bind-address bukan 0.0.0.0 , Anda hanya terhubung dengan ssh

4) Anda telah memodifikasi my.cnf dan memiliki baris #skip-networking . Bahkan jika Anda harus membuat garis hanya untuk menghilangkannya, lakukanlah.

3/4 perubahan memerlukan restart daemon mysql

5) masalah firewall. Jadi untuk EC2, Anda memerlukan AWS Security Group yang aktif untuk instance termasuk pembukaan port 3306



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sintaks SQL DROP DATABASE – Didaftarkan oleh DBMS

  2. MySQL Untuk Visual Studio 2012/2013

  3. Apakah MySQL InnoDB selalu memerlukan indeks untuk setiap batasan kunci asing?

  4. Bisakah kardinalitas berbeda untuk indeks duplikat di mysql?

  5. perbarui dua tabel sekaligus