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 --initializeAnda 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
Klik kanan folder Data
Pilih Properti
Pilih tab Keamanan
Klik Lanjutan
Klik Ubah Izin…
Klik Tambah…
Masukkan NETWORK SERVICE
Klik Periksa Nama
Klik Oke
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
Buka prompt perintah
Buka MySQL *bin* dan jalankan perintah berikut
mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini" --standalone --consoleJika 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
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 restartJika 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 -hPeriksa 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.cnfDengan menggulir melewati pengaturan [klien] dan [mysqld_safe], Anda akan menemukan sesuatu seperti contohnya di sini
sudo service mariadb status_0Dengan CentOS dan Red Hats lainnya, file konfigurasi utama disimpan di lokasi yang sedikit berbeda, buka untuk diperiksa
sudo service mariadb status1sudo service mariadb status2Baris 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
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_4Jika 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_5Parameter 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_6Jika 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_7Karena 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_8Sistem 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_9Jika 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