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

Cara Menjalankan host flush mysqladmin di Amazon RDS

Dalam beberapa kasus saat menjalankan MySQL di Amazon RDS (atau di tempat lain), mungkin perlu FLUSH semua host catatan dari MySQL. Biasanya, ini diperlukan ketika kesalahan "Host 'host_name' is blocked" terjadi, yang akan mencegah koneksi tambahan dari host_name tertentu itu .

host_name blocked kesalahan terjadi ketika jumlah max_connect_errors ditentukan dalam konfigurasi MySQL terlampaui, yang berarti host tertentu mencoba untuk menghubungkan terlalu banyak kali tidak berhasil. Ini adalah tindakan keamanan yang diterapkan oleh MySQL untuk mencegah serangan yang tidak beralasan dari host/pengguna yang tidak memiliki kredensial yang tepat, tetapi terkadang hal ini dapat terjadi karena kesalahan dan mungkin perlu diselesaikan dengan menghapus host.

Apa yang Dilakukan Host Flushing?

Dengan pengguna MySQL dengan hak istimewa yang tepat, jalankan FLUSH pernyataan, MySQL dapat menghapus tabel flush, kunci, dan sistem cache internal tergantung pada options yang diteruskan . Dalam kasus FLUSH HOSTS; , MySQL akan mengosongkan cache host, yang secara efektif berarti catatan MySQL tentang host mana yang saat ini atau yang baru saja terhubung disetel ulang, memungkinkan koneksi lebih lanjut dari host tersebut.

Mengeksekusi FLUSH HOST Secara Langsung

Meskipun mungkin Anda benar-benar dicegah untuk terhubung ke MySQL, dalam beberapa kasus ada kemungkinan bahwa sistem akan "menyimpan" slot koneksi yang hanya tersedia untuk primer atau root akun.

Untuk Amazon RDS , nama pengguna ini biasanya ditemukan di konsol manajemen Anda sebagai default atau "Master". Coba sambungkan ke server MySQL Anda dengan nama pengguna utama ini.

Jika Anda dapat terhubung, membilas host Anda semudah menjalankan FLUSH HOSTS; Pernyataan MySQL:

FLUSH HOSTS;

Anda sekarang seharusnya telah menghapus host_name blocked error dan dapat terhubung dengan akun MySQL standar Anda.

Membersihkan Host dari Jarak Jauh Menggunakan MySQLAdmin

Jika Anda tidak dapat terhubung ke MySQL sebagai akun master dan masih menerima blocked error, opsi selanjutnya adalah menyambung ke server dari jarak jauh dan menjalankan flush perintah menggunakan mysqladmin alat.

Untuk melakukan ini, Anda harus terhubung ke lain EC2 atau server yang memiliki akses ke server RDS yang menghasilkan kesalahan.

Setelah terhubung, jalankan perintah berikut dengan opsi yang tepat diganti antara <> :

$ mysqladmin -h <RDS_ENDPOINT_URL> -P <PORT> -u <USER> -p flush-hosts

Jika berhasil, flush-hosts perintah akan dijalankan seperti yang diharapkan dan Anda sekarang dapat terhubung ke MySQL seperti biasa.

Me-boot Ulang Instans RDS

Opsi terakhir, jika semuanya gagal, adalah cukup masuk ke panel kontrol manajemen RDS dan secara manual memulai ulang instans RDS yang memberikan kesalahan. Ini akan secara efektif mengatur ulang hosts cache untuk Anda, meskipun mungkin tidak ideal dalam situasi produksi.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Replikasi MySQL dan Failover Berbasis GTID - Menyelami Transaksi yang Salah

  2. Bagaimana cara membagi string nama di mysql?

  3. Cara Melakukan Rolling Upgrade untuk MySQL

  4. Cara Mendapatkan Ukuran Tabel di MySQL

  5. Aktivitas MySQL yang berlebihan