Rumah > Artikel > pangkalan data > MySQL Tidak Menjawab? Panduan Mudah untuk Mendiagnosis dan Membetulkannya
Sama ada anda pentadbir pangkalan data atau pembangun, mengetahui cara menyemak sama ada pelayan MySQL anda sedang aktif dan berjalan boleh menghalang masa henti dan memastikan aplikasi anda berfungsi dengan baik. Panduan ini akan menunjukkan kepada anda cara mudah untuk menyemak status pelayan MySQL anda, sama ada ia berjalan atau berhenti, dan cara untuk menyelesaikan masalah biasa. Kami juga akan membincangkan cara menyemak tiga jenis log pertanyaan MySQL dan sebab log pertanyaan tersebut penting untuk memantau kesihatan pangkalan data anda dan isu penyelesaian masalah.
Arahan yang berbeza boleh digunakan untuk mengesahkan sama ada pelayan MySQL anda berjalan berdasarkan sistem pengendalian anda. Di Linux, anda boleh menyemak status perkhidmatan MySQL dengan membuka terminal anda dan menaip:
systemctl status mysql
Arahan ini memberikan maklumat terperinci tentang perkhidmatan MySQL, termasuk status semasa dan entri log terkini. Sebagai alternatif, untuk output yang lebih mudah anda boleh gunakan:
sudo service mysql status
Untuk pengguna Windows, anda perlu membuka Command Prompt sebagai pentadbir dan menggunakan arahan net start digabungkan dengan penapis untuk menyenaraikan semua perkhidmatan yang sedang berjalan dan hanya menunjukkan yang berkaitan dengan MySQL. Jalankan arahan berikut:
net start | findstr "MySQL"
Kaedah ini memberitahu anda dengan cepat jika perkhidmatan MySQL aktif pada mesin Windows anda.
Jika MySQL tidak berjalan, anda boleh mengambil beberapa langkah untuk menyelesaikan masalah dan menghidupkannya semula dan menjalankannya.
Semak Log Dahulu (Jika Masa Mengizinkan)
Sebelum mengambil tindakan selanjutnya, jika anda mempunyai masa dan keupayaan, semak log MySQL untuk kemungkinan isu. Log boleh memberikan mesej ralat dan cerapan terperinci yang boleh membantu anda mendiagnosis masalah dengan lebih tepat.
Mulakan Semula Perkhidmatan MySQL Dengan Segera
Jika anda kesuntukan masa atau perlu mengelakkan masa henti untuk mengehadkan kesan kepada pengguna dan tidak dapat mengakses log dengan segera, anda boleh memulakan semula perkhidmatan MySQL untuk mencuba dan membawanya kembali dalam talian dengan cepat. Selepas memulakan semula, anda boleh menyemak log untuk memahami perkara yang menyebabkan isu itu.
Sahkan Fail Konfigurasi
Semak sama ada fail konfigurasi MySQL anda (biasanya my.cnf atau my.ini) disediakan dengan betul. Tetapan yang salah dalam fail ini boleh menghalang pelayan MySQL daripada bermula, jadi semak dan betulkan sebarang isu yang berpotensi, seperti laluan yang salah konfigurasi atau kebenaran yang salah.
Semak Ruang Cakera
Sahkan bahawa sistem anda mempunyai ruang cakera yang mencukupi, kerana MySQL memerlukan ruang yang mencukupi untuk penyimpanan dan operasi data. Ruang cakera yang rendah boleh menyebabkan pelayan berhenti atau gagal dimulakan, jadi kosongkan ruang jika perlu.
Log adalah penting untuk mendiagnosis isu, memantau prestasi dan memahami tingkah laku pelayan MySQL anda. Jika MySQL telah berhenti tanpa diduga, menyemak log boleh memberikan pandangan yang berharga tentang punca utama. Dalam panduan ini, kami akan membincangkan cara menyemak pelbagai jenis log MySQL:
Log ralat merekodkan maklumat kritikal tentang permulaan pelayan, penutupan dan sebarang ralat yang berlaku. Ia adalah tempat pertama untuk menyemak sama ada pelayan tidak bermula atau berjalan dengan betul.
Untuk melihatnya di Linux gunakan arahan:
systemctl status mysql
Pada Windows, cari fail log ralat dalam direktori data MySQL. Ini biasanya terletak di:
C:Program FilesMySQLMySQL Server 8.0data
Log pertanyaan am MySQL merekodkan semua pertanyaan SQL yang diterima oleh pelayan, bersama-sama dengan peristiwa sambungan dan pemutusan sambungan, membantu anda mengenal pasti sebarang pertanyaan bermasalah atau aktiviti luar biasa sebelum pelayan berhenti. Log ini menyediakan akaun kronologi yang komprehensif bagi semua operasi SQL, menjadikannya alat yang tidak ternilai untuk menyelesaikan masalah.
Log pertanyaan umum tidak didayakan secara lalai kerana jumlah data yang besar yang boleh dijananya. Anda perlu mendayakannya pada sistem anda dengan arahan berikut:
sudo service mysql status
Selepas mendayakan Log Pertanyaan Umum, adalah penting untuk menentukan tempat fail log akan disimpan. Ini memastikan anda boleh mencari dan mengurus entri log dengan mudah. Di Linux, anda boleh menetapkan lokasi fail log dengan menggunakan arahan berikut dalam klien baris arahan MySQL anda:
net start | findstr "MySQL"
Untuk sistem Windows, anda harus menetapkan lokasi fail log dengan memasukkan:
sudo cat /var/log/mysql/error.log
Untuk melihat Log Pertanyaan Umum di Linux, anda boleh menggunakan arahan kucing dalam terminal anda, yang memaparkan kandungan fail log:
SET GLOBAL general_log = 'ON';
Untuk Windows, anda hanya boleh membuka fail log menggunakan editor teks seperti Notepad.
Log pertanyaan lambat MySQL membantu anda mengenal pasti dan mengoptimumkan pertanyaan berjalan perlahan, yang boleh menjejaskan prestasi pangkalan data secara negatif atau malah menyebabkan penutupan pelayan. Dengan mendayakan log ini, anda boleh menangkap pertanyaan yang melebihi masa pelaksanaan yang ditentukan, membolehkan anda mengesan ketidakcekapan dan kesesakan dalam operasi pangkalan data anda.
Log Masuk Pertanyaan Lambat MySQL tidak dihidupkan secara lalai. Walau bagaimanapun, mendayakannya adalah penting untuk mengesan dan membetulkan pertanyaan perlahan yang boleh menyeret ke bawah prestasi pangkalan data anda. Untuk mendayakannya, gunakan arahan berikut:
systemctl status mysql
Sekarang log pertanyaan perlahan didayakan, anda perlu menetapkan lokasi tempat fail log akan disimpan. Untuk kegunaan Linux:
sudo service mysql status
Dan untuk Windows:
net start | findstr "MySQL"
Untuk menentukan perkara yang layak sebagai pertanyaan "perlahan", anda perlu menetapkan ambang masa. Ambang ini menentukan tempoh maksimum pertanyaan boleh diambil sebelum ia dilog sebagai perlahan. Amalan biasa ialah bermula dengan ambang 2 saat, kerana ini memberikan keseimbangan yang baik antara menangkap pertanyaan yang tidak cekap dan tidak membebankan log anda dengan entri.
Sebagai contoh, jika anda ingin log pertanyaan yang mengambil masa lebih lama daripada 2 saat untuk dilaksanakan, anda boleh menetapkan ambang masa dengan arahan berikut:
sudo cat /var/log/mysql/error.log
Untuk menyemak pertanyaan perlahan dan memahami potensi isu prestasi, anda kini perlu melihat Log Pertanyaan Perlahan.
Di Linux, gunakan arahan kucing:
SET GLOBAL general_log = 'ON';
Untuk Windows, anda hanya boleh membuka fail log menggunakan editor teks seperti Notepad.
Terdapat pelbagai senario di mana anda mungkin perlu memulakan atau menghentikan MySQL, seperti menggunakan perubahan konfigurasi, melakukan penyelenggaraan atau menyelesaikan masalah. Anda mungkin perlu memulakan semula MySQL dengan cepat untuk pulih daripada penutupan yang tidak dijangka dan mengehadkan masa henti. Sebagai alternatif, anda mungkin perlu menghentikan MySQL serta-merta jika anda melihat aktiviti luar biasa atau berkaitan prestasi untuk mengelakkan potensi kehilangan data atau isu keselamatan.
Di Linux atau macOS, anda boleh mengurus perkhidmatan MySQL melalui terminal. Masukkan arahan yang berkaitan untuk keperluan anda:
SET GLOBAL general_log_file = '/var/log/mysql/mysql.log';
SET GLOBAL general_log_file = 'C:/Program Files/MySQL/MySQL Server 8.0/data/mysql.log';
Untuk pengguna Windows, anda perlu membuka Command Prompt sebagai pentadbir. Kemudian masukkan arahan yang berkaitan:
sudo cat /var/log/mysql/mysql.log
SET GLOBAL slow_query_log = 'ON';
Tingkah laku MySQL dikawal oleh fail konfigurasinya, biasanya dinamakan my.cnf pada sistem berasaskan Unix dan my.ini pada Windows. Tetapan yang salah dalam fail ini boleh menghalang pelayan daripada memulakan atau menyebabkan masalah operasi.
Pada Sistem Linux/Unix: Fail my.cnf biasanya terletak dalam /etc/mysql/ atau /etc/. Untuk mencarinya, anda boleh menggunakan arahan berikut:
SET GLOBAL slow_query_log_file = '/var/log/mysql/slow.log';
Pada Sistem Windows: Fail my.ini biasanya ditemui dalam direktori pemasangan MySQL, selalunya dalam C:ProgramDataMySQLMySQL Server X.Y, di mana X.Y mewakili nombor versi. Untuk mencarinya, anda boleh menggunakan fungsi carian File Explorer atau semak direktori pemasangan terus.
Selepas mencari fail konfigurasi, bukanya dengan editor teks untuk menyemak dan mengesahkan tetapan. Pastikan parameter seperti datadir, soket dan port dikonfigurasikan dengan betul. Sebarang salah konfigurasi di sini boleh menyebabkan kegagalan permulaan atau isu operasi.
Ruang cakera yang mencukupi adalah penting untuk operasi MySQL, kerana ruang yang tidak mencukupi boleh menyebabkan ranap pelayan atau kerosakan data.
Pada Sistem Linux/Unix: Anda boleh menyemak ruang cakera menggunakan arahan df:
systemctl status mysql
Pada Sistem Windows: Untuk menyemak ruang cakera, buka Prompt Perintah dan gunakan arahan wmic:
sudo service mysql status
Arahan ini memaparkan jumlah dan ruang kosong untuk setiap pemacu. Sebagai alternatif, anda boleh menggunakan alat Pengurusan Cakera dengan menekan Win R, menaip diskmgmt.msc, dan menekan Enter. Alat ini menyediakan gambaran grafik penggunaan cakera.
Memantau ruang cakera secara berkala memastikan MySQL mempunyai ruang yang mencukupi untuk beroperasi dengan berkesan, menghalang penutupan yang tidak dijangka atau kemerosotan prestasi.
Pembolehubah Status Pelayan MySQL menawarkan maklumat penting berkenaan keadaan dan kefungsian pelayan MySQL anda. Mereka membekalkan metrik segera pada aktiviti pelayan, membolehkan anda mengawasi operasi tanpa menjejaskan prestasi pelayan.
Untuk mendapatkan maklumat lebih terperinci tentang pembolehubah ini, termasuk data penting InnoDB dan khusus penimbal, rujuk Rujukan Pembolehubah Status Pelayan MySQL.
Atas ialah kandungan terperinci MySQL Tidak Menjawab? Panduan Mudah untuk Mendiagnosis dan Membetulkannya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!