Mengapa server mysql tidak berfungsi?

Solusinya bervariasi tergantung pada versi MySQL Anda. Coba solusi dalam urutan bagian berikut

Mulai ulang layanan

Mulai ulang layanan MySQL dengan menjalankan perintah berikut

mysqld --initialize

Anda harus masuk sebagai root_ atau menggunakan sudo -i untuk menjalankan perintah ini

Instal ulang layanan

Masuk sebagai root dan instal ulang layanan MySQL dengan menjalankan perintah berikut

mysqld --install
mysqld --initialize 
_

Verifikasi file saya. ini file konfigurasi

Versi MySQL tertentu menambahkan nilai hex yang tidak valid di awal my. ini file konfigurasi. Menghapus tiga nilai hex pertama menggunakan hex editor akan mengatasi masalah ini. Ini terjadi karena masalah dengan baris skrip. Baris menentukan bahwa setiap file harus memiliki ID unik, yang kemudian menambahkan urutan byte untuk menandai file teks

Jika Anda memiliki cadangan file my. ini, Anda dapat menyalin konten file ini dan menempelkannya secara manual ke my. ini untuk mengatasi masalah ini

Verifikasi izin Layanan Jaringan

Anda mungkin perlu memverifikasi bahwa Layanan Jaringan memiliki izin yang sesuai. Gunakan langkah-langkah di bagian ini untuk memverifikasi bahwa izin ini sudah benar

  1. Klik kanan folder Data

  2. Pilih Properti

  3. Pilih tab Keamanan

  4. Klik Lanjutan

  5. Klik Ubah Izin…

  6. Klik Tambah…

  7. Masukkan NETWORK SERVICE

  8. Klik Periksa Nama

  9. Klik Oke

  10. Pilih Kontrol Penuh

Periksa file default yang hilang

Ada kemungkinan file default tidak ada. Gunakan langkah-langkah di bagian ini untuk memeriksa file default yang hilang ini

  1. Buka prompt perintah

  2. Buka MySQL *bin* dan jalankan perintah berikut

    mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini" --standalone --console
    
  3. Jika menentukan folder default yang hilang, Anda harus membuat file default baru

©2020 Rackspace US, Inc

Kecuali dinyatakan sebaliknya, konten di situs ini dilisensikan di bawah Creative Commons Attribution-NonCommercial-NoDerivs 3. 0 Lisensi Tidak Diporting

Sebagian besar konten di Internet disimpan di database yang MySQL adalah pilihan populer. Tapi apa yang harus dilakukan ketika tiba-tiba konten dinamis Anda tidak dimuat, atau ketika kembali ke situs web Anda, Anda akan disambut oleh halaman putih yang hampir kosong dengan pesan “Kesalahan membuat koneksi database. ” Panduan ini ditujukan untuk membantu memecahkan masalah database MySQL di server cloud, dan dengan mengikuti langkah-langkah yang tercantum di sini Anda diharapkan dapat memulihkan fungsionalitas database Anda

Coba UpCloud secara gratis. Terapkan server hanya dalam 45 detik

Periksa apakah layanan sedang berjalan

Jika situs web Anda tidak dapat terhubung ke database Anda, mungkin saja layanan tersebut tidak mendengarkan. Periksa keadaan MySQL Anda, pada sistem Ubuntu dan Debian ini dapat dilakukan dengan perintah berikut

sudo service mysql status

CentOS dan varian Red Hat lainnya juga menggunakan MySQL, tetapi sebagai gantinya dinamai MariaDB, jadi gunakan perintah ini sebagai gantinya

sudo service mariadb status
_

Keluaran dari pemeriksaan status pada CentOS dan Debian akan menunjukkan sesuatu di sepanjang baris contoh ini dari CentOS di bawah ini, keluaran Debian akan hampir identik dengan pengecualian nama layanan yang berbeda

mariadb.service - MariaDB database server
    Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled)
    Active: active (running) since Wed 2015-08-05 11:53:38 EEST; 3h 23min ago
  Main PID: 2451 (mysqld_safe)
    CGroup: /system.slice/mariadb.service
            ├─2451 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
            └─2609 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql...

Cetakannya agak bertele-tele, tetapi bagian yang penting biasanya diwarnai agar lebih menonjol. Dalam warna hijau 'aktif (berjalan)' berarti layanan harus berjalan normal jika sebaliknya, dikatakan 'aktif (keluar)' atau 'tidak aktif (mati)' proses telah dihentikan atau dimatikan

Ubuntu memadatkan informasi yang sama menjadi satu baris seperti contoh keluaran di bawahnya

mysql start/running, process 5897
_

Jika status layanan Anda mengatakan sesuatu selain 'berjalan', coba mulai ulang proses menggunakan perintah layanan yang sama seperti sebelumnya tetapi dengan 'mulai ulang' alih-alih 'status'

sudo service mysql restart

sudo service mariadb restart

Jika layanan database dimulai ulang tanpa menemui kesalahan, Anda dapat mencoba menghubungkannya menggunakan perintah di bawah ini. Masukkan kata sandi root saat diminta

mysql -u root -p
_

Jika Anda disambut dengan "Selamat datang di monitor MySQL/MariaDB", koneksi berhasil dan layanan database sedang berjalan. Jika sebaliknya, Anda mendapatkan kesalahan seperti contoh di bawah ini, Anda mungkin salah mengetik kata sandi untuk pengguna root. Coba lagi, atau jika Anda tidak yakin dengan kata sandi root, masuk dengan akun pengguna lain yang dapat Anda akses dengan hanya mengganti root dengan nama pengguna lain

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
_

Jika Anda menyiapkan database di server terpisah dari host web Anda, pastikan kedua server dapat saling menjangkau. Anda dapat menguji koneksi database dari server web Anda dengan perintah di bawahnya menggunakan nama pengguna yang benar untuk instalasi Anda

mysql -u  -p -h 

Periksa konfigurasinya

Ketika MySQL berjalan tetapi situs web Anda masih tidak memuat sebagaimana mestinya, atau jika ketika mencoba menghubungkan ke database Anda secara manual Anda mendapatkan pesan kesalahan seperti di bawah ini, Anda harus melihat konfigurasi layanan

ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)

Pada server Debian dan Ubuntu, file konfigurasi untuk MySQL biasanya disimpan di /etc/mysql/. Dimungkinkan juga untuk menyimpan pengaturan khusus pengguna di /home//. -ku. cnf, yang akan mengesampingkan konfigurasi global. Periksa apakah ada penggantian level pengguna yang telah disetel. Biasanya disarankan untuk memiliki nama pengguna terpisah untuk aplikasi web yang berbeda, jadi periksa setidaknya yang relevan dengan masalah pemuatan halaman Anda. Anda dapat membuka file konfigurasi global dengan yang pertama dari dua perintah berikut di bawah ini, dan khusus pengguna dengan yang terakhir dengan menggantinya dengan nama pengguna basis data

sudo nano /etc/mysql/my.cnf

sudo nano /home//.my.cnf

Dengan menggulir melewati pengaturan [klien] dan [mysqld_safe], Anda akan menemukan sesuatu seperti contohnya di sini

sudo service mariadb status
_0

Dengan CentOS dan Red Hats lainnya, file konfigurasi utama disimpan di lokasi yang sedikit berbeda, buka untuk diperiksa

sudo service mariadb status
1
sudo service mariadb status
2

Baris di sini yang harus diperhatikan adalah 'socket', 'datadir' dan 'bind-address'. Parameter dalam contoh di atas adalah nilai defaultnya, dan dalam kebanyakan kasus, konfigurasi Anda akan terlihat sama. Pastikan pengaturan mengarah ke direktori yang benar sehingga MySQL benar-benar dapat menemukan file yang diperlukan. Cara termudah untuk memeriksa 'datadir' adalah dengan menggunakan perintah di bawah ini

sudo service mariadb status
_3

Keluaran akan mencantumkan semua file dalam direktori itu, harus berisi setidaknya yang berikut ditambah database apa pun yang telah Anda buat

sudo service mariadb status
_4

Jika direktori data atau soket telah dipindahkan dan MySQL tidak tahu di mana letaknya, perbaiki file konfigurasi untuk menunjuk ke direktori yang benar. Anda dapat mencari folder dengan perintah berikut

sudo service mariadb status
_5

Parameter ketiga yang perlu Anda periksa adalah bind-address, ini hanya benar-benar relevan jika database Anda perlu diakses dari jarak jauh. Dalam instalasi Debian dan Ubuntu, pengikatan secara default diatur ke alamat loopback, yang mencegah panggilan database dari luar localhost. CentOS tidak memiliki parameter yang sama kecuali diatur secara manual. Untuk pengaturan apa pun di mana layanan web Anda berada di server yang berbeda dengan database, alamat pengikat ini harus disetel ke IP pribadi server itu sendiri

Periksa log kesalahan

Jika konfigurasi tampaknya benar dan layanan berjalan, tetapi situs web Anda masih tidak memuat sebagaimana mestinya, coba periksa log untuk petunjuk apa pun yang mungkin menjadi penyebabnya

Server Debian dan Ubuntu menyimpan log kesalahan ke /var/log/mysql/error. catatan. Anda dapat membaca log dengan 'lebih sedikit', tetapi ini mungkin tidak nyaman karena log mencakup lebih dari sekadar kesalahan kritis. Sebagai gantinya, cari log menggunakan 'grep'

sudo service mariadb status
_6

Jika Anda tidak dapat menemukan apa pun dalam log terbaru, periksa juga yang diarsipkan. Untuk melakukan ini, gunakan 'zgrep' dengan perintah yang sama seperti 'grep' biasa

sudo service mariadb status
_7

Karena basis data di bawah CentOS bernama MariaDB, bukan MySQL, log juga disimpan dengan nama yang berbeda. Anda dapat mencari log dengan perintah berikut

sudo service mariadb status
_8

Sistem Debian juga melaporkan peristiwa MySQL ke /var/log/syslog, untuk memfilter yang lainnya, gunakan 'grep' dengan dua kata kunci yang dipisahkan oleh. * untuk mengekspresikan 'dan' seperti pada perintah di bawah ini

sudo service mariadb status
_9

Jika Anda mengalami kesulitan menemukan sesuatu yang bermanfaat, coba kata kunci yang berbeda seperti 'mulai' untuk melihat kapan layanan terakhir dimulai ulang, atau 'gagal' untuk menemukan masalah yang kurang kritis yang mungkin tidak dilaporkan sebagai kesalahan

Meminta bantuan

Secara optimis sekarang basis data Anda akan aktif dan berjalan kembali, tetapi jika Anda mengalami kesalahan yang lebih terus-menerus, jangan ragu untuk meminta bantuan. Hubungi tim dukungan kami dan coba jelaskan masalahnya sebaik mungkin, sertakan juga langkah-langkah yang telah Anda ambil dengan hasilnya saat memecahkan masalah. Ini akan membantu tim dalam membantu Anda mengatasi masalah tersebut

Bagaimana cara memperbaiki 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

Apa yang menyebabkan server MySQL hilang?

Alasan paling umum untuk kesalahan server MySQL hilang adalah waktu server habis dan koneksi ditutup . Dalam hal ini, Anda biasanya mendapatkan salah satu dari kode kesalahan berikut (yang Anda dapatkan bergantung pada sistem operasi). Klien tidak dapat mengirim pertanyaan ke server.

Bagaimana cara memperbaiki 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 mengaktifkan server MySQL?

Windows – Memulai dan Menghentikan Server .
Buka Jendela 'Jalankan' dengan menggunakan tombol Win + R
Ketik 'layanan. msc'
Sekarang cari layanan MySQL berdasarkan versi yang diinstal
Klik 'stop', 'start' atau 'restart' opsi layanan