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

MySQL:InnoDb:Menunggu semaphore telah berlangsung> 600 detik. Kami sengaja merusak server

Dari UPTIME 1022 detik laporan STATUS GLOBAL Anda, teliti dan pertimbangkan my.cnf/ini tambahkan/ubah/nonaktifkan dengan tanda # atau HAPUS untuk menghindari kekacauan. Biasanya hanya 1 perubahan yang dilakukan per hari dan monitor. Dalam kasus Anda, dengan 18 menit crash, mari kita buat semuanya dalam satu shutdown/restart.

thread_cache_size=100 # from default because 83 threads created already, V8 CAP is 100 to avoid OOM
innodb_buffer_pool_size=6G # from default of 128M, was full in 17 minutes
table_open_cache=10000 # 1066 already opened in 17 minutes.

Sangat membutuhkan VARIABEL SHOW GLOBAL Anda; dan SHOW ENGINE INNODB STATUS; dan lengkapi my.cnf/ini untuk menghindari GUESSING untuk saran tambahan. dropbox.com atau pastebin.com adalah tempat yang wajar untuk berbagi data jika Anda mencapai batas penyimpanan di sini.

Cari '[MySQL] Semaphore wait has last' untuk menemukan solusi sebelumnya di stackoverflow.com dba.stackexchange.com atau serverfault.com (pw kami dibagikan oleh 3 situs ini, jadi Anda tidak memerlukan 3 akun).

Rollback berurusan dengan 17.856.929 baris. Dalam satu transaksi, itu adalah beban yang memerlukan analisis untuk memecahnya menjadi jumlah baris yang lebih mudah dikelola untuk satu transaksi.

perbarui 2017-11-18 tentang 09 UTC ketika bagian my.cnf/ini [mysqld] Anda MEMBUTUHKAN

innodb_log_buffer_size=48M # from 256M
innodb_log_file_size=256M # from default of 48M

Hari ini, mereka mundur dan merupakan bagian penting dari penyebab restart 17 menit Anda. Shutdown/restart diperlukan, tidak ada nilai yang dapat diubah secara dinamis.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak bisa mendapatkan data mysql (Pemilihan CodeIgniter)

  2. Memperbarui tabel di pemicu setelah memperbarui di tabel yang sama

  3. mysql_fetch_array() mengembalikan 'argumen yang diberikan bukan sumber hasil MySQL yang valid'

  4. periksa apakah email ada di database MySQL

  5. Bagaimana menemukan semua baris anak di MySQL?