Saya mendapat Kode Kesalahan: 2013. Sambungan hilang ke server MySQL saat kesalahan kueri ketika saya mencoba menambahkan indeks ke tabel menggunakan MySQL Workbench. Saya perhatikan juga bahwa itu muncul setiap kali saya menjalankan permintaan panjang.
Apakah ada jauh untuk meningkatkan nilai batas waktu?
mysql
sql
database
mysql-workbench
pengguna836026
sumber
sumber
DBMS connection read time out
lapangan hanya menerima hingga 5 angka, dan pengaturan lapangan untuk 0 setara dengan parameter default (600 detik). (Windows 7 64-bit Ultimate, MySQL Workbench 5.2.47 CE)Mulai server DB dengan opsi comandline
net_read_timeout
/wait_timeout
dan nilai yang sesuai (dalam detik) - misalnya:--net_read_timeout=100
.Untuk referensi lihat di sini dan di sini .
sumber
mysqld
.Jika kueri Anda memiliki data gumpalan, masalah ini dapat diperbaiki dengan menerapkan
my.ini
perubahan seperti yang diusulkan dalam jawaban ini :Secara default, ini akan menjadi 1M (nilai maksimum yang diizinkan adalah 1024M). Jika nilai yang diberikan bukan kelipatan 1024K, maka secara otomatis akan dibulatkan ke kelipatan terdekat 1024K.
Sementara utas yang dirujuk adalah tentang kesalahan MySQL 2006 , pengaturan
max_allowed_packet
dari 1M hingga 16M memang memperbaiki kesalahan 2013 yang muncul untuk saya ketika menjalankan kueri yang panjang.Untuk pengguna WAMP: Anda akan menemukan bendera di
[wampmysqld]
bagian tersebut.sumber
Tambahkan yang berikut ini ke file / etc / mysql / cnf:
contoh:
sumber
/etc/mysql/cnf
sudah benar? Bukankah seharusnya begitu/etc/my.cnf
?Peringatan: Yang berikut ini tidak akan berfungsi ketika Anda menerapkannya dalam koneksi jarak jauh:
sumber
Ada tiga kemungkinan penyebab untuk pesan kesalahan ini
Penyebab 2:
dari standarnya 30 detik hingga 60 detik atau lebih lama
Penyebab 3:
sumber
Terima kasih, ini berhasil. Tetapi dengan pembaruan mysqldb, konfigurasi telah menjadi:
mysql doc
sumber
Anda harus mengatur properti 'interactive_timeout' dan 'wait_timeout' di file konfigurasi mysql ke nilai yang Anda butuhkan.
sumber
Hanya melakukan MySQL meng-upgrade yang akan membangun kembali InnoDB engine bersama dengan membangun kembali dari banyak tabel diperlukan untuk berfungsinya MySQL seperti
performance_schema
,information_schema
, dllKeluarkan perintah di bawah ini dari shell Anda:
sumber
Saya tahu yang lama tetapi di mac
sumber
Ubah waktu "baca batas waktu" di Edit-> Preferences-> SQL editor-> sesi MySQL
sumber
Coba hapus centang pada baris batas di dalam Edit → Preferences → SQL Queries
karena Anda harus mengatur properti 'interactive_timeout' dan 'wait_timeout' dalam file config mysql ke nilai yang Anda butuhkan.
sumber
Jika Anda mengalami masalah ini selama pengembalian file-dump besar dan dapat mengesampingkan masalah yang ada hubungannya dengan jaringan (misalnya eksekusi pada localhost) daripada solusi saya bisa membantu.
Mysqldump saya menampung setidaknya satu INSERT yang terlalu besar untuk dihitung oleh mysql. Anda dapat melihat variabel ini dengan mengetik
show variables like "net_buffer_length";
di dalam mysql-cli Anda. Anda memiliki tiga kemungkinan:--skip-extended-insert
, per masukkan satu baris digunakan -> walaupun dump ini jauh lebih bagus untuk dibaca, ini tidak cocok untuk dump besar> 1GB karena cenderung sangat lambat--net-buffer_length NR_OF_BYTES
mana NR_OF_BYTES lebih kecil dari net_buffer_length server -> Saya pikir ini adalah solusi terbaik, meskipun lebih lambat tidak diperlukan restart server.Saya menggunakan perintah mysqldump berikut:
mysqldump --skip-comments --set-charset --default-character-set=utf8 --single-transaction --net-buffer_length 4096 DBX > dumpfile
sumber
Saya mendapat masalah yang sama saat memuat file .csv. Mengonversi file menjadi .sql.
Menggunakan perintah di bawah ini saya berhasil mengatasi masalah ini.
Semoga ini bisa membantu.
sumber
Jika semua solusi lain di sini gagal - periksa syslog Anda (/ var / log / syslog atau yang serupa) untuk melihat apakah server Anda kehabisan memori selama permintaan.
Punya masalah ini ketika innodb_buffer_pool_size diset terlalu dekat dengan memori fisik tanpa swapfile yang dikonfigurasi. MySQL merekomendasikan untuk pengaturan server database khusus innodb_buffer_pool_size pada maksimum sekitar 80% dari memori fisik , saya telah menetapkan sekitar 90%, kernel membunuh proses mysql. Pindah innodb_buffer_pool_size kembali turun menjadi sekitar 80% dan itu memperbaiki masalah.
sumber
Dalam kasus saya, mengatur interval waktu koneksi ke 6000 atau sesuatu yang lebih tinggi tidak berfungsi.
Saya hanya melakukan apa yang dikatakan meja kerja yang bisa saya lakukan.
Pada Preferensi Mac -> SQL Editor -> Pergi ke Sesi MySQL -> atur interval baca batas waktu koneksi ke 0.
Dan itu berfungsi 😄
sumber
Saya menghadapi masalah yang sama ini. Saya percaya ini terjadi ketika Anda memiliki kunci asing ke tabel yang lebih besar (yang membutuhkan waktu).
Saya mencoba menjalankan pernyataan membuat tabel lagi tanpa deklarasi kunci asing dan ternyata berhasil.
Kemudian setelah membuat tabel, saya menambahkan batasan kunci asing menggunakan kueri ALTER TABLE.
Semoga ini bisa membantu seseorang.
sumber
Ini terjadi pada saya karena innodb_buffer_pool_size saya ditetapkan lebih besar dari ukuran RAM yang tersedia di server. Banyak hal menjadi terganggu karena ini dan itu mengeluarkan kesalahan ini. Cara mengatasinya adalah memperbarui my.cnf dengan pengaturan yang benar untuk innodb_buffer_pool_size.
sumber
Pergi ke Workbench Edit → Preferensi → SQL Editor → Koneksi DBMS waktu habis baca: Hingga 3000. Kesalahan tidak lagi terjadi.
sumber
Pergi ke:
Edit -> Preferensi -> SQL Editor
Di sana Anda dapat melihat tiga bidang dalam grup "MySQL Session", di mana Anda sekarang dapat mengatur interval koneksi baru (dalam detik).
sumber
Ternyata aturan firewall kami memblokir koneksi saya ke MYSQL. Setelah kebijakan firewall dicabut untuk memungkinkan koneksi saya berhasil mengimpor skema.
sumber
Saya memiliki masalah yang sama - tetapi bagi saya solusinya adalah pengguna DB dengan izin yang terlalu ketat. Saya harus membiarkan
Execute
kemampuan di atasmysql
meja. Setelah membiarkan itu, saya tidak punya koneksi yang terjatuh lagisumber
Periksa apakah indeks berada di tempat pertama.
sumber
Saya berlari ke ini saat menjalankan proc yang tersimpan - yang menciptakan banyak baris ke dalam tabel di database. Saya bisa melihat kesalahan datang tepat setelah waktu melewati batas 30 detik.
Saya mencoba semua saran di jawaban lain. Saya yakin beberapa di antaranya membantu, namun- yang benar-benar membuatnya bekerja adalah beralih ke SequelPro dari Workbench.
Saya menduga itu adalah beberapa koneksi sisi klien yang tidak dapat saya temukan di Workbench. Mungkin ini akan membantu orang lain juga?
sumber
Jika Anda menggunakan SQL Work Bench, Anda dapat mencoba menggunakan Pengindeksan, dengan menambahkan indeks ke tabel Anda, untuk menambahkan indeks, klik pada simbol kunci pas (spanner) pada tabel, itu akan membuka pengaturan untuk tabel, di bawah ini , klik pada tampilan indeks, ketikkan nama indeks dan atur jenisnya ke indeks, Di kolom indeks, pilih kolom utama di tabel Anda.
Lakukan langkah yang sama untuk kunci utama lainnya di tabel lain.
sumber
Tampaknya ada jawaban yang hilang di sini untuk mereka yang menggunakan SSH untuk terhubung ke database MySQL mereka. Anda perlu memeriksa dua tempat bukan 1 seperti yang disarankan oleh jawaban lain:
Edit Meja Kerja → Preferensi → Editor SQL → DBMS
Edit Meja Kerja → Preferensi → SSH → Batas Waktu
Batas waktu SSH default saya ditetapkan sangat rendah dan menyebabkan beberapa (tetapi tampaknya tidak semua) masalah batas waktu saya. Setelah itu, jangan lupa untuk me-restart MySQL Workbench!
Terakhir, mungkin perlu menghubungi Admin DB Anda dan meminta mereka untuk meningkatkan properti wait_timeout & interactive_timeout di mysql sendiri melalui my.conf + mysql restart atau melakukan set global jika me-restart mysql bukan pilihan.
Semoga ini membantu!
sumber
Tiga hal yang harus diikuti dan pastikan:
Jawaban:
sumber
periksa tentang
Semoga ini membantu
sumber
Ini biasanya berarti bahwa Anda memiliki "ketidakcocokan dengan versi MySQL Server saat ini", lihat mysql_upgrade. Saya mengalami masalah yang sama dan hanya harus menjalankan:
mysql_upgrade --password Dokumentasi menyatakan bahwa, "mysql_upgrade harus dijalankan setiap kali Anda meningkatkan MySQL".
sumber