Apa kesalahan koneksi mysql?

Umpan balik berhasil dikirim Terima kasih atas umpan balik Anda yang berharga. Kami akan menggunakannya untuk membuat matomo. org lebih baik lagi

  • Rumah
  • Membantu
  • Instalasi & Pemeliharaan
  • Matomo On-Premise (di-hosting sendiri)
  • Memecahkan masalah Basis Data

Bagaimana cara memperbaiki kesalahan Mysql "Koneksi ditolak"?

Kesalahan server MySQL SQLSTATE[HY000] [2002] Connection refused._ dapat disebabkan oleh beberapa alasan, jika Anda mengikuti langkah-langkah di bawah ini, Anda seharusnya dapat memperbaiki masalah ini

  • Periksa apakah file konfigurasi Anda config/config.ini.php_ (di direktori Matomo) berisi kredensial DB yang benar dan terkini di bagian [database]. Pastikan nama pengguna DB, kata sandi DB, host database, dan port database sudah benar. (jika Anda tidak yakin, hubungi administrator basis data Anda atau periksa akun hosting web Anda untuk kredensial terkini)
  • Jika file konfigurasi mereferensikan host = "localhost", Anda dapat mencoba mengubahnya menjadi 127.0.0.1 sebagai gantinya, misalnya di konfigurasi Anda. ini. php di bawah [database] atur host = "127.0.0.1"
  • Jika perubahan di atas tidak menyelesaikan masalah, kami sarankan Anda mencoba menyambungkan ke MySQL pada baris perintah untuk memeriksa apakah kredensial sudah benar dan server berfungsi. Sambungkan ke server yang menjalankan Matomo dan jalankan perintah ini. mysql -h [hostname] -u [username] -p[password] -D [dbname] (dan ganti parameter di [] dengan nilai yang ditemukan di file config.ini.php Anda. )
  • Jika perintah di atas berfungsi, tetapi Anda masih mendapatkan kesalahan "Koneksi ditolak" di browser, mungkin ada masalah dengan PHP. Harap hubungi perusahaan hosting web atau administrator sistem Anda
  • Periksa apakah Server MySQL sedang berjalan. Sambungkan ke server yang menjalankan database MySQL dan periksa apakah server MySQL aktif berjalan dengan menjalankan perintah ini config/config.ini.php0 (yang seharusnya mengembalikan output seperti ini. config/config.ini.php_1)
  • Jika Anda menemukan server DB tidak berjalan, lanjutkan untuk me-restart server Mysql (atau me-reboot seluruh server)
  • Atau Jika server Database kehabisan ruang disk dan tidak ada ruang tersisa di server, mungkin juga mulai menolak koneksi
  • Terkadang server MySQL dikonfigurasi untuk menolak beberapa koneksi (misalnya koneksi dari luar jaringan). Jika database MySQL Anda dikelola oleh perusahaan hosting web Anda, hubungi mereka karena mereka mungkin dapat membantu

Jika Anda masih memiliki SQLSTATE[HY000] [2002] Connection refused. setelah memeriksa langkah-langkah di atas, jangan ragu untuk menghubungi kami dengan mengeklik tombol umpan balik di bawah

ditulis oleh Chintan Mehta, Ankit Bhavsar, Subhash Shah dan Hetal Oza. Buku ini memberikan tip dan trik untuk mengatasi masalah yang mungkin Anda temui saat mengelola solusi MySQL. [/kotak]

Saat menggunakan MySQL 8, ada beberapa skenario di mana Anda tidak dapat mengakses atau menggunakan MySQL dengan benar. Situasi ini bisa sangat mengganggu, tetapi mudah diperbaiki. Namun, sebelum Anda mencari solusinya, Anda harus mengetahui masalahnya. Berikut adalah beberapa kesalahan umum yang mungkin Anda temui saat menggunakan MySQL 8

1. Akses ditolak

MySQL menyediakan sistem hak istimewa yang mengautentikasi pengguna yang terhubung dari host, dan mengaitkan pengguna dengan hak akses pada database. Hak istimewanya meliputi SELECT, INSERT, UPDATE, dan DELETE dan mampu mengidentifikasi pengguna anonim dan memberikan hak istimewa untuk fungsi khusus MySQL, seperti LOAD DATA INFILE and administrative operations. The access denied error may occur because of many causes. In many cases, the problem is caused because of MySQL accounts that the client programs use to connect with the MySQL server with permission from the server.


2. Koneksi ke server MySQL terputus

Kesalahan koneksi ke server MySQL yang hilang dapat terjadi karena salah satu dari tiga kemungkinan penyebab yang dijelaskan di bagian ini. Salah satu alasan potensial untuk kesalahan tersebut adalah konektivitas jaringan yang bermasalah

Kondisi jaringan harus diperiksa jika ini sering terjadi kesalahan. Jika pesan kesalahan seperti "Lost connection to MySQL server" muncul saat menanyakan database, dapat dipastikan bahwa kesalahan tersebut terjadi karena masalah koneksi jaringan

Variabel sistem connection_timeout mendefinisikan jumlah detik yang mysqld server waits for a connection packet before connection timeout response. Infrequently, this error may occur when a client is trying for the initial connection to the server and the connection_timeout value is set to a few seconds. In this case, the problem can be resolved by increasing the connection_timeout value based on the the distance and connection speed. SHOW GLOBAL STATUS LIKE and Aborted_connects dapat digunakan untuk menentukan apakah kita . Dapat dipastikan bahwa meningkatkan nilai connection_timeout adalah solusinya jika pesan error berisi paket otorisasi pembacaan. Ada kemungkinan bahwa masalah mungkin dihadapi karena nilai Binary Large OBject (BLOB) yang lebih besar daripada max_allowed_packet. This can cause a lost connection to the MySQL server error with clients. If the ER_NET_PACKET_TOO_LARGE, ini menegaskan bahwa nilai max_allowed_packet seharusnya .

3. Kata sandi gagal saat dimasukkan dengan salah

Klien MySQL meminta kata sandi saat program klien dipanggil dengan opsi — kata sandi atau -p tanpa nilai kata sandi. Berikut ini adalah perintahnya

> mysql -u user_name -p

Enter password:

Pada beberapa sistem, mungkin saja sandi berfungsi dengan baik saat ditentukan dalam file opsi atau pada baris perintah. Namun tidak berfungsi saat dimasukkan secara interaktif di Prompt Perintah di Masukkan sandi. mengingatkan. Ini terjadi karena pustaka yang disediakan sistem untuk membaca kata sandi membatasi nilai kata sandi ke sejumlah kecil karakter (biasanya delapan). Ini adalah masalah dengan perpustakaan sistem dan bukan dengan MySQL. Sebagai solusi untuk ini, ubah kata sandi MySQL ke nilai delapan karakter atau kurang atau simpan kata sandi di file opsi.

4. Host host_name diblokir

Jika mysqld server menerima terlalu banyak permintaan koneksi dari host yang terputus di tengah, kesalahan berikut terjadi.

Host 'host_name' is blocked because of many connection errors.

Unblock with 'mysqladmin flush-hosts'
_

Variabel sistem max_connect_errors menentukan jumlah berturut-turut permintaan koneksi terputus yang diizinkan. Setelah ada max_connect_errors permintaan yang gagal tanpa koneksi berhasil, mysqld menganggap ada sesuatu yang salah dan memblokir host lebih jauh . FLUSH HOSTS statement or mysqladmin flush-hosts command is issued.

mysqld memblokir host setelah 100 kesalahan koneksi sebagai default. Hal ini dapat disesuaikan dengan menyetel nilai max_connect_errors pada permulaan server, sebagai berikut.

> mysqld_safe --max_connect_errors=10000

Nilai ini juga dapat diatur saat runtime, sebagai berikut

mysql> SET GLOBAL max_connect_errors=10000;

Harus diperiksa terlebih dahulu bahwa tidak ada yang salah dengan koneksi TCP/IP dari host jika host_name diblokir kesalahan yang diterima untuk host tertentu. Meningkatkan nilai variabel max_connect_errors tidak membantu jika jaringan bermasalah.

5. Terlalu banyak koneksi

Kesalahan ini menunjukkan bahwa semua koneksi yang tersedia sedang digunakan untuk koneksi klien lainnya. max_connections adalah variabel sistem yang mengontrol jumlah koneksi ke server . Nilai default untuk jumlah maksimum sambungan adalah 151. Kita dapat menetapkan nilai lebih besar dari 151 untuk max_connections variabel sistem untuk mendukung lebih banyak connections than 151.

Proses server mysqld sebenarnya memungkinkan satu lebih dari max_connections (max_connections + 1) klien nilai untuk terhubung. Satu sambungan tambahan disimpan dicadangkan untuk akun dengan CONNECTION_ADMIN atau SUPER . Hak istimewa dapat privilege. The privilege can be diberikan kepada administrator dengan akses ke hak istimewa PROCESS . Dengan akses ini, administrator dapat terhubung ke server menggunakan koneksi yang dipesan. Mereka dapat menjalankan perintah the SHOW PROCESSLIST untuk mendiagnosis masalah meskipun maksimum number of client connections is exhausted.

6. Habis ingatan

Jika mysql tidak memiliki cukup memori untuk menyimpan seluruh permintaan kueri yang dikeluarkan oleh program klien MySQL, server melontarkan kesalahan berikut.

mysql: Out of memory at line 42, 'malloc.c'

mysql: needed 8136 byte (8k), memory in use: 12481367 bytes (12189k)

ERROR 2008: MySQL client ran out of memory
_

Untuk memperbaiki masalah, pertama-tama kita harus memeriksa apakah kueri sudah benar. Apakah kita berharap kueri menampilkan begitu banyak baris? . Jika kueri benar dan tidak memerlukan koreksi, kita dapat menghubungkan mysql dengan opsi –quick . Menggunakan opsi –quick menghasilkan fungsi mysql_use_result() C API . Fungsi menambahkan lebih banyak beban di server dan lebih sedikit beban pada klien. fetching the result set. The function adds more load on the server and less load on the client.

7. Paket terlalu besar

Paket komunikasi adalah salah satu dari berikut ini

  • Pernyataan SQL tunggal yang dikirim oleh klien MySQL ke server MySQL
  • Satu baris yang dikirim ke klien MySQL dari server MySQL
  • Peristiwa log biner yang dikirim dari server master replikasi ke budak replikasi

Ukuran paket 1 GB adalah kemungkinan ukuran paket terbesar yang dapat ditransmisikan ke atau dari server atau klien MySQL 8. Server atau klien MySQL mengeluarkan ER_NET_PACKET_TOO_LARGE kesalahan dan menutup koneksi jika menerima paket yang lebih besar dari max_allowed_packet byte.

Ukuran max_allowed_packet default adalah 16 MB untuk program klien MySQL. Perintah berikut dapat digunakan untuk menetapkan nilai yang lebih besar.

> mysql --max_allowed_packet=32M

Nilai default untuk server MySQL adalah 64 MB. Perlu diperhatikan bahwa tidak ada salahnya menetapkan nilai yang lebih besar untuk variabel sistem ini, karena memori tambahan dialokasikan sesuai kebutuhan.

8. Meja sudah penuh

Galat table-full terjadi di salah satu kondisi berikut ini

  • Disk penuh
  • Tabel telah mencapai ukuran maksimum

Ukuran tabel maksimum sebenarnya dalam database MySQL dapat ditentukan oleh batasan yang diberlakukan oleh sistem operasi pada ukuran file

9. Tidak dapat membuat/menulis ke file

Ini menunjukkan bahwa MySQL tidak dapat membuat file sementara di direktori sementara untuk kumpulan hasil jika kami mendapatkan kesalahan berikut saat menjalankan kueri

Can't create/write to file 'sqla3fe_0.ism'
_

Solusi yang mungkin untuk kesalahan ini adalah memulai server mysqld dengan –tmpdir option. The following is the command:

> mysqld --tmpdir C:/temp

10. Perintah tidak sinkron

Jika fungsi klien dipanggil dengan urutan yang salah, kesalahan perintah tidak sinkron  diterima. Ini berarti bahwa perintah tidak dapat dijalankan dalam kode klien. Sebagai contoh, jika kita mengeksekusi mysql_use_result() dan mencoba mengeksekusi kueri lain sebelum mengeksekusi mysql_free_result(), this error may occur. It may also happen if we execute two queries that return a result set without calling the mysql_use_result() atau mysql_store_result( . functions in between.

11. Mengabaikan pengguna

Kesalahan berikut terjadi saat akun di tabel pengguna ditemukan dengan sandi yang tidak valid pada mysqld server startup or when the server reloads the grant tables:

Found wrong password for user 'some_user'@'some_host'; ignoring user
_

Akibatnya, akun tersebut diabaikan oleh sistem izin MySQL. Untuk mengatasi masalah tersebut, kami harus menetapkan sandi baru yang valid untuk akun tersebut.

12. Tabel tbl_name tidak ada

Galat berikut ini menunjukkan bahwa tabel tertentu tidak ada di pangkalan data asali

Table 'tbl_name' doesn't exist

Can't find file: 'tbl_name' (errno: 2)
_

Dalam beberapa kasus, pengguna mungkin salah merujuk ke tabel. Hal ini dimungkinkan karena server MySQL menggunakan direktori dan file untuk menyimpan tabel database. Bergantung pada pengelolaan file sistem operasi, nama database dan tabel dapat peka huruf besar/kecil.

Untuk sistem file yang tidak peka huruf besar kecil, seperti Windows, referensi ke tabel tertentu yang digunakan dalam kueri harus menggunakan huruf kapital yang sama

Selain itu, Anda mungkin menemukan kesalahan server MySQL 8 seperti masalah dengan izin, atau kesalahan klien seperti masalah dengan nilai NULL. Untuk mengetahui cara mengatasinya, Anda dapat membaca buku ini Panduan Administrator MySQL 8.

Baca Selanjutnya

MySQL8. 0 umumnya tersedia dengan fitur tambahan

Situs Dasar menggunakan Node. js dan basis data MySQL

 

  • TAG
  • intelijen bisnis
  • MySQL8
  • Alat & Kerangka
  • Analisis Data Besar
  • Kutipan Buku
  • Tutorial

Membagikan

Facebook

Twitter

Linkedin

Amey Varangaonkar

Penggemar Ilmu Data. Fiksi ilmiah besar dan penggemar Manchester United. Suka membaca, menulis dan mendengarkan musik

Bagaimana cara memperbaiki kesalahan koneksi MySQL?

Beberapa solusi permanen adalah. .
Tentukan apa yang salah dengan server DNS Anda dan perbaiki
Tentukan alamat IP daripada nama host di tabel hibah MySQL
Masukkan entri untuk nama mesin klien di /etc/hosts di Unix atau \windows\hosts di Windows
Mulai mysqld dengan variabel sistem skip_name_resolve diaktifkan

Bagaimana cara saya terhubung ke koneksi MySQL?

Untuk Menghubungkan ke Database MySQL .
Klik tab Layanan
Perluas node Drivers dari Database Explorer. .
Masukkan Nama Pengguna dan Kata Sandi. .
Klik OK untuk menerima kredensial. .
Klik OK untuk menerima skema default
Klik kanan URL Database MySQL di jendela Layanan (Ctrl-5)

Bagaimana cara menghapus kesalahan MySQL?

Anda dapat mencoba "\. clear" , itu akan menjalankan perintah clear shell. "\. " digunakan untuk mengeksekusi perintah shell. di * nix itu akan menghapus prompt perintah Anda.