Mengapa mysql tidak berfungsi?

Bagian ini mencantumkan beberapa kesalahan yang sering dialami pengguna. Anda akan menemukan deskripsi kesalahan dan cara mengatasi masalah di sini

Server MySQL telah hilang Error

Bagian ini juga membahas terkait Lost connection to server during query error

Alasan paling umum untuk kesalahan server MySQL telah hilang adalah bahwa server kehabisan waktu dan menutup koneksi. Secara default, server menutup koneksi setelah 8 jam jika tidak terjadi apa-apa. Anda dapat mengubah batas waktu dengan menyetel variabel wait_timeout saat Anda memulai mysqld

Alasan umum lainnya untuk menerima kesalahan server MySQL telah hilang adalah karena Anda telah mengeluarkan "tutup" pada koneksi MySQL Anda dan kemudian mencoba menjalankan kueri pada koneksi tertutup

Jika Anda memiliki skrip, Anda hanya perlu mengeluarkan kueri lagi agar klien dapat melakukan koneksi ulang otomatis

Anda biasanya bisa mendapatkan kode kesalahan berikut dalam kasus ini (yang mana yang Anda dapatkan bergantung pada OS)

Kode kesalahan

Keterangan

CR_SERVER_GONE_ERROR

Klien tidak dapat mengirim pertanyaan ke server

CR_SERVER_LOST

Klien tidak mendapatkan kesalahan saat menulis ke server, tetapi tidak mendapatkan jawaban lengkap (atau jawaban apa pun) untuk pertanyaan tersebut

Anda juga akan mendapatkan kesalahan ini jika seseorang telah mematikan utas yang sedang berjalan dengan kill #threadid#

Anda dapat memeriksa apakah MySQL belum mati dengan menjalankan versi mysqladmin dan memeriksa waktu aktifnya. Jika masalahnya adalah mysqld crash, Anda harus berkonsentrasi untuk menemukan alasan crash tersebut. Dalam hal ini Anda harus memulai dengan memeriksa apakah mengeluarkan kueri lagi akan mematikan MySQL lagi. Melihat

Anda juga bisa mendapatkan error ini jika mengirimkan kueri ke server yang salah atau terlalu besar. Jika mysqld mendapatkan paket yang terlalu besar atau rusak, dianggap ada yang tidak beres dengan klien dan menutup koneksi. Jika Anda memerlukan kueri besar (misalnya, jika Anda bekerja dengan kolom gumpalan besar), Anda dapat meningkatkan batas kueri dengan memulai mysqld dengan opsi -O max_allowed_packet=# (default 1M). Memori ekstra dialokasikan sesuai permintaan, jadi mysqld akan menggunakan lebih banyak memori hanya saat Anda mengeluarkan kueri besar atau saat mysqld harus mengembalikan baris hasil besar

Jika Anda ingin membuat laporan bug terkait masalah ini, pastikan Anda menyertakan informasi berikut

  • Sertakan informasi apakah MySQL mati atau tidak. (Anda dapat menemukan ini di nama host. berkas kesalahan. Melihat

  • Jika kueri tertentu membunuh mysqld dan tabel yang terlibat di mana diperiksa dengan CHECK TABLE sebelum Anda melakukan kueri, dapatkah Anda melakukan uji kasus untuk ini?

  • Berapa nilai variabel wait_timeout di server MySQL?

  • Sudahkah Anda mencoba menjalankan mysqld dengan --log dan memeriksa apakah kueri yang dikeluarkan muncul di log?

.

Tidak dapat terhubung ke kesalahan server MySQL [lokal].

Klien MySQL di Unix dapat terhubung ke server mysqld dengan dua cara berbeda. Soket Unix, yang terhubung melalui file dalam sistem file (default

shell> mysqladmin -h `hostname` version
2) atau TCP/IP, yang terhubung melalui nomor port. Soket Unix lebih cepat dari TCP/IP tetapi hanya dapat digunakan saat terhubung ke server di komputer yang sama. Soket Unix digunakan jika Anda tidak menentukan nama host atau jika Anda menentukan nama host khusus localhost

Di Windows, jika server mysqld berjalan di 9x/Me, Anda hanya dapat terhubung melalui TCP/IP. Jika server berjalan pada NT/2000/XP dan mysqld dimulai dengan --enable-named-pipe, Anda juga dapat terhubung dengan pipa bernama. Nama pipa bernama adalah MySQL. Jika Anda tidak memberikan nama host saat menghubungkan ke mysqld, klien MySQL pertama-tama akan mencoba menyambung ke pipa bernama, dan jika ini tidak berhasil, klien akan menyambung ke port TCP/IP. Anda dapat memaksa penggunaan pipa bernama pada Windows dengan menggunakan. sebagai nama host

Kesalahan (2002) Tidak dapat terhubung. biasanya berarti tidak ada server MySQL yang berjalan di sistem atau Anda menggunakan file soket atau port TCP/IP yang salah saat mencoba menyambung ke server mysqld

Mulailah dengan memeriksa (menggunakan ps atau pengelola tugas di Windows) bahwa ada proses yang berjalan bernama mysqld di server Anda. Jika tidak ada proses mysqld, Anda harus memulainya. Melihat

Jika proses mysqld sedang berjalan, Anda dapat memeriksa server dengan mencoba koneksi yang berbeda ini (tentu saja nomor port dan nama jalur soket mungkin berbeda dalam pengaturan Anda)

shell> mysqladmin version
shell> mysqladmin variables
shell> mysqladmin -h `hostname` version variables
shell> mysqladmin -h `hostname` --port=3306 version
shell> mysqladmin -h 'ip for your host' version
shell> mysqladmin --socket=/tmp/mysql.sock version
_

Perhatikan penggunaan backquotes daripada forward quotes dengan perintah hostname;

Berikut adalah beberapa alasan kesalahan Tidak dapat terhubung ke server MySQL lokal mungkin terjadi

  • mysqld tidak berjalan

  • Anda menjalankan sistem yang menggunakan MIT-pthreads. Jika Anda menjalankan sistem yang tidak memiliki utas asli, mysqld menggunakan paket MIT-pthreads. Melihat. Namun, tidak semua versi MIT-pthreads mendukung soket Unix. Pada sistem tanpa dukungan soket, Anda harus selalu menentukan nama host secara eksplisit saat menyambung ke server. Coba gunakan perintah ini untuk memeriksa koneksi ke server

    shell> mysqladmin -h `hostname` version
  • Seseorang telah melepaskan soket Unix yang digunakan mysqld (default

    shell> mysqladmin -h `hostname` version
    2). Anda mungkin memiliki tugas cron yang menghapus soket MySQL (misalnya, tugas yang menghapus file lama dari direktori
    shell> mysqladmin -h `hostname` version
    4). Anda selalu dapat menjalankan versi mysqladmin dan memeriksa apakah soket yang coba digunakan oleh mysqladmin benar-benar ada. Perbaikan dalam hal ini adalah mengubah pekerjaan cron untuk tidak menghapus
    shell> mysqladmin -h `hostname` version
    5 atau menempatkan soket di tempat lain. Melihat

  • Anda telah memulai server mysqld dengan opsi --socket=/path/to/socket. Jika Anda mengubah nama jalur soket untuk server, Anda juga harus memberi tahu klien MySQL tentang jalur baru tersebut. Anda dapat melakukan ini dengan memberikan jalur soket sebagai argumen kepada klien. Melihat

  • Anda menggunakan Linux dan satu utas telah mati (dibuang inti). Dalam hal ini Anda harus mematikan utas mysqld lainnya (misalnya, dengan skrip mysql_zap) sebelum Anda dapat memulai server MySQL baru. Melihat

  • Anda mungkin tidak memiliki hak istimewa untuk membaca dan menulis ke direktori yang menyimpan file soket atau ke file soket itu sendiri. Dalam hal ini Anda mengubah hak istimewa untuk direktori / file atau me-restart mysqld sehingga menggunakan direktori yang dapat Anda akses

Jika Anda mendapatkan pesan kesalahan Can't connect to MySQL server on some_hostname, Anda dapat mencoba hal-hal berikut untuk mengetahui masalahnya

  • Periksa apakah server sudah aktif dengan melakukan telnet your-host-name tcp-ip-port-number dan tekan Enter beberapa kali. Jika ada server MySQL yang berjalan di port ini, Anda akan mendapatkan respons yang menyertakan nomor versi server MySQL yang sedang berjalan. Jika Anda mendapatkan kesalahan seperti telnet. Tidak dapat terhubung ke host jarak jauh. Sambungan ditolak, tidak ada server yang berjalan di port yang diberikan

  • Coba sambungkan ke daemon mysqld di mesin lokal dan periksa port TCP/IP yang dikonfigurasi untuk digunakan oleh mysqld (port variabel) dengan variabel mysqladmin

  • Pastikan server mysqld Anda tidak dimulai dengan opsi --skip-networking

Tuan rumah '. ' diblokir Kesalahan

Jika Anda mendapatkan error seperti ini

Host 'hostname' is blocked because of many connection errors.
Unblock with 'mysqladmin flush-hosts'
_

ini berarti mysqld telah mendapatkan banyak (max_connect_errors) permintaan koneksi dari host 'hostname' yang terputus di tengah. Setelah permintaan max_connect_errors gagal, mysqld berasumsi bahwa ada sesuatu yang salah (seperti serangan dari cracker), dan memblokir situs dari koneksi lebih lanjut hingga seseorang menjalankan perintah mysqladmin flush-hosts

Secara default, mysqld memblokir host setelah 10 kesalahan koneksi. Anda dapat dengan mudah menyesuaikan ini dengan memulai server seperti ini

shell> safe_mysqld -O max_connect_errors=10000 &

Perhatikan bahwa jika Anda mendapatkan pesan kesalahan ini untuk host tertentu, pertama-tama Anda harus memeriksa bahwa tidak ada yang salah dengan koneksi TCP/IP dari host tersebut. Jika koneksi TCP/IP Anda tidak berfungsi, tidak ada gunanya meningkatkan nilai variabel max_connect_errors

Terlalu banyak sambungan Galat

Jika Anda mendapatkan kesalahan Terlalu banyak koneksi saat Anda mencoba terhubung ke MySQL, ini berarti sudah ada klien max_connections yang terhubung ke server mysqld

Jika Anda membutuhkan lebih banyak koneksi daripada default (100), Anda harus me-restart mysqld dengan nilai yang lebih besar untuk variabel max_connections

Perhatikan bahwa mysqld sebenarnya mengizinkan (max_connections+1) klien untuk terhubung. Koneksi terakhir dicadangkan untuk pengguna dengan hak istimewa proses. Dengan tidak memberikan hak istimewa ini kepada pengguna biasa (mereka seharusnya tidak membutuhkan ini), administrator dengan hak istimewa ini dapat masuk dan menggunakan SHOW PROCESSLIST untuk mencari tahu apa yang salah. Melihat

Jumlah maksimum koneksi yang diizinkan ke MySQL bergantung pada seberapa bagus pustaka thread pada platform tertentu. Linux atau Solaris harus dapat mendukung 500-1000 koneksi simultan, tergantung berapa banyak RAM yang Anda miliki dan apa yang dilakukan klien Anda

Beberapa tabel yang diubah non-transaksional tidak dapat dibatalkan Kesalahan

Jika Anda mendapatkan kesalahan/peringatan. Peringatan. Beberapa tabel yang diubah non-transaksional tidak dapat dibatalkan saat mencoba melakukan ROLLBACK, ini berarti beberapa tabel yang Anda gunakan dalam transaksi tidak mendukung transaksi. Tabel non-transaksional ini tidak akan terpengaruh oleh pernyataan ROLLBACK

Biasanya, ini terjadi ketika Anda mencoba membuat tabel dengan tipe yang tidak didukung oleh biner mysqld Anda. Jika mysqld tidak mendukung tipe tabel (atau jika tipe tabel dinonaktifkan oleh opsi startup), ia malah akan membuat tipe tabel dengan tipe tabel yang paling mirip dengan yang Anda minta, mungkin MyISAM

Anda dapat memeriksa jenis tabel untuk tabel dengan melakukan

TAMPILKAN STATUS TABEL SEPERTI 'nama_tabel'. Melihat

Anda dapat memeriksa ekstensi yang didukung oleh biner mysqld Anda dengan melakukan

tampilkan variabel seperti 'memiliki_%'. Melihat

Jika Anda mengeluarkan kueri dan mendapatkan sesuatu seperti 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
_

perhatikan bahwa kesalahan mengacu pada mysql klien MySQL. Alasan kesalahan ini hanyalah karena klien tidak memiliki cukup memori untuk menyimpan seluruh hasil

Untuk memperbaiki masalah, periksa dulu apakah kueri Anda sudah benar. Apakah masuk akal untuk mengembalikan begitu banyak baris? . Ini menempatkan lebih sedikit beban pada klien (tetapi lebih banyak pada server)

Ketika klien MySQL atau server mysqld mendapatkan paket yang lebih besar dari byte max_allowed_packet, itu mengeluarkan kesalahan Paket terlalu besar dan menutup koneksi

Di MySQL3. 23 paket terbesar yang mungkin adalah 16M (karena batasan dalam protokol klien/server). Di MySQL4. 0. 1 dan lebih tinggi, ini hanya dibatasi oleh jumlah memori yang Anda miliki di server Anda (hingga maksimum teoretis 2G)

Paket komunikasi adalah pernyataan SQL tunggal yang dikirim ke server MySQL atau satu baris yang dikirim ke klien

Ketika klien MySQL atau server mysqld mendapatkan paket yang lebih besar dari byte max_allowed_packet, itu mengeluarkan kesalahan Paket terlalu besar dan menutup koneksi. Dengan beberapa klien, Anda juga dapat kehilangan koneksi ke server MySQL selama kesalahan kueri jika paket komunikasi terlalu besar

Perhatikan bahwa klien dan server memiliki variabel max_allowed_packet sendiri. Jika Anda ingin menangani paket besar, Anda harus meningkatkan variabel ini baik di klien maupun di server

Aman untuk meningkatkan variabel ini karena memori hanya dialokasikan saat dibutuhkan;

Jika Anda menggunakan klien mysql, Anda dapat menentukan buffer yang lebih besar dengan memulai klien dengan mysql --set-variable=max_allowed_packet=8M. Klien lain memiliki metode berbeda untuk mengatur variabel ini

Anda dapat menggunakan file opsi untuk mengatur max_allowed_packet ke ukuran yang lebih besar di mysqld. Misalnya, jika Anda ingin menyimpan panjang MEDIUMBLOB penuh ke dalam tabel, Anda harus memulai server dengan opsi set-variable=max_allowed_packet=16M

Anda juga bisa mendapatkan masalah aneh dengan paket besar jika Anda menggunakan blob besar, tetapi Anda belum memberikan akses mysqld ke memori yang cukup untuk menangani kueri. Jika Anda menduga ini masalahnya, coba tambahkan ulimit -d 256000 ke awal skrip safe_mysqld dan mulai ulang mysqld

Kesalahan Komunikasi/ Koneksi Dibatalkan

Dimulai dengan MySQL 3. 23. 40 Anda hanya mendapatkan kesalahan koneksi yang dibatalkan jika Anda memulai mysqld dengan --warnings

Jika Anda menemukan kesalahan seperti berikut di log kesalahan Anda (lihat )

010301 14:38:23  Aborted connection 854 to db: 'users' user: 'josh'
_

ini berarti bahwa salah satu dari berikut ini telah terjadi

  • Program klien tidak memanggil mysql_close() sebelum keluar

  • Klien telah tidur lebih dari wait_timeout atau interactive_timeout tanpa melakukan permintaan apa pun. Melihat

  • Program klien tiba-tiba berakhir di tengah transfer

Saat ini terjadi, variabel server Aborted_clients bertambah

Variabel server Aborted_connects bertambah

  • Ketika paket koneksi tidak berisi informasi yang benar

  • Ketika pengguna tidak memiliki hak istimewa untuk terhubung ke database

  • Ketika pengguna menggunakan kata sandi yang salah

  • Ketika dibutuhkan lebih dari detik connect_timeout untuk mendapatkan paket koneksi

Perhatikan bahwa ini dapat menunjukkan bahwa seseorang mencoba masuk ke database Anda

Melihat

Alasan lain untuk masalah dengan klien yang dibatalkan/koneksi yang dibatalkan

  • Penggunaan protokol Ethernet dupleks, baik setengah maupun penuh dengan Linux. Banyak driver Linux Ethernet memiliki bug ini. Anda harus menguji bug ini dengan mentransfer file besar melalui ftp antara kedua mesin ini. Jika transfer masuk burst-pause-burst-pause. mode, Anda mengalami sindrom dupleks Linux. Satu-satunya solusi untuk masalah ini adalah mengganti dupleks setengah dan penuh pada hub dan sakelar

  • Beberapa masalah dengan pustaka utas yang menyebabkan gangguan saat membaca

  • TCP/IP dikonfigurasi dengan buruk

  • Ethernet, hub, sakelar, kabel rusak. Ini dapat didiagnosis dengan benar hanya dengan mengganti perangkat keras

  • max_allowed_packet terlalu kecil atau kueri membutuhkan lebih banyak memori daripada yang Anda alokasikan untuk mysqld. Melihat

Kesalahan ini terjadi di versi MySQL yang lebih lama ketika tabel sementara dalam memori menjadi lebih besar dari byte tmp_table_size. Untuk menghindari masalah ini, Anda dapat menggunakan opsi -O tmp_table_size=# ke mysqld untuk menambah ukuran tabel sementara atau menggunakan opsi SQL SQL_BIG_TABLES sebelum Anda mengeluarkan kueri yang bermasalah. Melihat

Anda juga dapat memulai mysqld dengan opsi --big-tables. Ini persis sama dengan menggunakan SQL_BIG_TABLES untuk semua kueri

Di MySQL Versi 3. 23, tabel sementara dalam memori akan secara otomatis diubah menjadi tabel MyISAM berbasis disk setelah ukuran tabel menjadi lebih besar dari tmp_table_size

Tidak dapat membuat/menulis ke file Error

Jika Anda mendapatkan kesalahan untuk beberapa jenis kueri

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

ini berarti MySQL tidak dapat membuat file sementara untuk hasil yang ditetapkan di direktori sementara yang diberikan. (Kesalahan ini adalah pesan kesalahan khas pada Windows, dan pesan kesalahan Unix serupa. ) Cara mengatasinya adalah memulai mysqld dengan --tmpdir=path atau menambahkan ke file opsi Anda

[mysqld]
tmpdir=C:/temp

dengan asumsi bahwa direktori

shell> mysqladmin -h `hostname` version
_6 ada. Melihat

Periksa juga kode kesalahan yang Anda dapatkan dengan perror. Salah satu alasannya mungkin juga karena kesalahan disk penuh

shell> perror 28
Error code  28:  No space left on device

Perintah tidak sinkron Kesalahan di Klien

Jika Anda membuat Perintah tidak sinkron;

Hal ini dapat terjadi, misalnya, jika Anda menggunakan mysql_use_result() dan mencoba menjalankan kueri baru sebelum Anda memanggil mysql_free_result(). Itu juga bisa terjadi jika Anda mencoba mengeksekusi dua kueri yang mengembalikan data tanpa mysql_use_result( ) atau mysql_store_result( ) di antaranya

Jika Anda mendapatkan kesalahan berikut

Ditemukan kata sandi yang salah untuk pengguna. 'some_user@some_host';

ini berarti ketika mysqld dimulai atau ketika memuat ulang tabel izin, ia menemukan entri di tabel pengguna dengan kata sandi yang tidak valid. Akibatnya, entri tersebut diabaikan begitu saja oleh sistem izin

Kemungkinan penyebab dan perbaikan untuk masalah ini

  • Anda mungkin menjalankan versi baru mysqld dengan tabel pengguna lama. Anda dapat memeriksanya dengan menjalankan mysqlshow mysql user untuk melihat apakah bidang kata sandi lebih pendek dari 16 karakter. Jika demikian, Anda dapat memperbaiki kondisi ini dengan menjalankan skrip scripts/add_long_password

  • Pengguna memiliki kata sandi lama (panjang 8 karakter) dan Anda tidak memulai mysqld dengan opsi --old-protocol. Perbarui pengguna di tabel pengguna dengan kata sandi baru atau mulai ulang mysqld dengan --old-protocol

  • Anda telah menetapkan sandi di tabel pengguna tanpa menggunakan fungsi PASSWORD( ). Gunakan mysql untuk memperbarui pengguna di tabel pengguna dengan kata sandi baru. Pastikan untuk menggunakan fungsi PASSWORD( ).

    mysql> UPDATE user SET password=PASSWORD('your password')
        ->             WHERE user='XXX';

Tabel 'xxx' tidak ada Kesalahan

Jika Anda mendapatkan kesalahan Tabel 'xxx' tidak ada atau Tidak dapat menemukan file. 'xxx' (errno. 2), ini berarti tidak ada tabel di database saat ini dengan nama xxx

Perhatikan bahwa karena MySQL menggunakan direktori dan file untuk menyimpan database dan tabel, nama database dan tabel peka terhadap huruf besar-kecil. (Pada Windows, nama database dan tabel tidak peka huruf besar/kecil, tetapi semua referensi ke tabel tertentu dalam kueri harus menggunakan huruf besar/kecil yang sama. )

Anda dapat memeriksa tabel mana yang Anda miliki di database saat ini dengan SHOW TABLES. Melihat

Tidak dapat menginisialisasi kesalahan kumpulan karakter xxx

Jika Anda mendapatkan kesalahan seperti

shell> mysqladmin -h `hostname` version
0

ini berarti salah satu dari hal-hal berikut

  • Kumpulan karakter adalah kumpulan karakter multi-byte dan Anda tidak memiliki dukungan untuk kumpulan karakter di klien

    Dalam hal ini Anda perlu mengkompilasi ulang klien dengan --with-charset=xxx atau dengan --with-extra-charsets=xxx. Melihat

    Semua binari MySQL standar dikompilasi dengan --with-extra-character-sets=complex, yang akan mengaktifkan dukungan untuk semua set karakter multi-byte. Melihat

  • Kumpulan karakter adalah kumpulan karakter sederhana yang tidak dikompilasi ke dalam mysqld dan file definisi kumpulan karakter tidak berada di tempat yang diharapkan klien untuk menemukannya

    Dalam hal ini Anda perlu

    • Kompilasi ulang klien dengan dukungan untuk set karakter. Melihat

    • Tentukan ke klien di mana file definisi kumpulan karakter berada. Untuk banyak klien, Anda dapat melakukan ini dengan opsi --character-sets-dir=path-to-charset-dir

    • Salin file definisi karakter ke jalur yang diharapkan klien

Jika Anda mendapatkan KESALAHAN '. ' tidak ditemukan (errno. 23), Tidak dapat membuka file. . (errno. 24), atau kesalahan lainnya dengan errno 23 atau errno 24 dari MySQL, itu berarti Anda belum mengalokasikan cukup deskriptor file untuk MySQL. Anda dapat menggunakan utilitas perror untuk mendapatkan gambaran tentang arti nomor kesalahan

shell> mysqladmin -h `hostname` version
_1

Masalahnya di sini adalah mysqld mencoba membuka terlalu banyak file secara bersamaan. Anda dapat memberi tahu mysqld untuk tidak membuka begitu banyak file sekaligus, atau menambah jumlah deskriptor file yang tersedia untuk mysqld

Untuk memberi tahu mysqld agar membuka lebih sedikit file sekaligus, Anda dapat membuat cache tabel lebih kecil dengan menggunakan opsi -O table_cache=32 ke safe_mysqld (nilai defaultnya adalah 64). Mengurangi nilai max_connections juga akan mengurangi jumlah file yang terbuka (nilai defaultnya adalah 90)

Untuk mengubah jumlah deskriptor file yang tersedia untuk mysqld, Anda dapat menggunakan opsi --open-files-limit=# menjadi safe_mysqld atau -O open-files-limit=# menjadi mysqld. Melihat. Cara termudah untuk melakukannya adalah dengan menambahkan opsi ke file opsi Anda. Melihat. Jika Anda memiliki versi mysqld lama yang tidak mendukung ini, Anda dapat mengedit skrip safe_mysqld. Ada baris yang dikomentari ulimit -n 256 dalam skrip. Anda dapat menghapus karakter '#' untuk menghapus tanda komentar pada baris ini, dan mengubah angka 256 untuk memengaruhi jumlah deskriptor file yang tersedia di mysqld

ulimit (dan open-files-limit) dapat menambah jumlah deskriptor file, tetapi hanya sampai batas yang ditentukan oleh sistem operasi. Ada juga batas "keras" yang hanya dapat diganti jika Anda memulai safe mysqld atau mysqld sebagai root (ingat saja bahwa Anda juga perlu menggunakan --user=. pilihan dalam hal ini). Jika Anda perlu menambah batas OS pada jumlah deskriptor file yang tersedia untuk setiap proses, lihat dokumentasi untuk sistem operasi Anda

Perhatikan bahwa jika Anda menjalankan tcsh shell, ulimit tidak akan berfungsi. tcsh juga akan melaporkan nilai yang salah saat Anda meminta batas saat ini. Dalam hal ini Anda harus memulai safe_mysqld dengan sh

Apa yang harus dilakukan jika MySQL tidak berfungsi?

Cara mengatasi layanan MySQL mulai dan berhenti tiba-tiba .
Mulai ulang layanan. Mulai ulang layanan MySQL dengan menjalankan perintah berikut. mysqld --inisialisasi. .
Instal ulang layanan. .
Verifikasi file saya. .
Verifikasi izin Layanan Jaringan. .
Periksa file default yang hilang

Mengapa MySQL tidak dimulai?

Bahkan dengan kepemilikan yang benar, MySQL mungkin gagal memulai jika ada perangkat lunak keamanan lain yang berjalan di sistem Anda yang mengelola akses aplikasi ke berbagai bagian sistem file. In this case, reconfigure that software to enable mysqld to access the directories it uses during normal operation.

Mengapa MySQL tidak berfungsi di Windows 10?

Mulai dengan memeriksa apakah ada proses bernama mysqld yang berjalan di host server Anda . (Gunakan ps xa. grep mysqld di Unix atau Task Manager di Windows. ) Jika tidak ada proses seperti itu, Anda harus memulai server. Untuk mengatasi ini, Anda perlu mengkonfigurasi ulang server Anda.

Mengapa MySQL tidak menampilkan database?

Pertama, Anda harus masuk menggunakan nama pengguna dan kata sandi Anda sebelum mengeluarkan perintah tampilkan basis data pada cmd . Jika Anda meminta tampilkan database tanpa ini, cmd hanya akan menampilkan database default. nama pengguna dan kata sandi Anda (opsional jika nama pengguna Anda adalah root) memberi Anda akses yang diperlukan ke database.