MySQL mempunyai empat jenis fail log: 1. Fail log binari, yang merekodkan pelbagai operasi pangkalan data dalam bentuk binari, tetapi tidak merekodkan pernyataan pertanyaan 2. Fail log ralat, yang kebanyakannya merekodkan pelayan MySQL Maklumat semasa proses permulaan dan pemberhentian, kegagalan dan pengecualian yang berlaku semasa operasi pelayan, dsb. 3. Fail log pertanyaan umum, merekod maklumat permulaan dan penutupan pelayan, maklumat sambungan pelanggan, kemas kini, penyata SQL untuk rekod data pertanyaan, dsb.; 4. Fail log pertanyaan perlahan, terutamanya merekodkan operasi yang peristiwa pelaksanaannya melebihi masa yang ditetapkan.
Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.
Log ialah bahagian penting dalam pangkalan data dan digunakan terutamanya untuk merekod status berjalan, operasi harian dan maklumat ralat pangkalan data.
Dalam MySQL, fail log boleh dibahagikan kepada 4 jenis: fail log binari, fail log ralat, fail log pertanyaan umum dan fail log pertanyaan perlahan.
Fail log binari: Fail log ini merekodkan pelbagai operasi pangkalan data dalam bentuk binari, tetapi tidak merekodkan pernyataan pertanyaan. Ia digunakan terutamanya untuk merekodkan perubahan dalam pangkalan data, iaitu penyata DDL dan DML bagi penyata SQL, dan tidak termasuk operasi pertanyaan rekod data.
Fail log ralat: terutamanya merekodkan maklumat semasa proses permulaan dan pemberhentian pelayan MySQL, kegagalan dan pengecualian yang berlaku semasa operasi pelayan, dsb.
Fail log pertanyaan umum: Log ini merekodkan maklumat permulaan dan penutupan pelayan MySQL, maklumat sambungan pelanggan, kemas kini, pernyataan SQL untuk menanyakan rekod data, dsb.
Fail log pertanyaan perlahan: merekodkan operasi yang peristiwa pelaksanaannya melebihi masa yang ditentukan Dengan menganalisis log pertanyaan perlahan dengan alatan, anda boleh mencari kesesakan prestasi pelayan MySQL.
Antara fail log yang disokong oleh MySQL, kecuali fail log binari, fail log lain ialah fail teks. Secara lalai, MySQL hanya memulakan fail log ralat, dan log lain perlu dimulakan secara manual.
Menggunakan log mempunyai kelebihan dan kekurangan. Selepas pengelogan didayakan, walaupun prestasi pelayan MySQL boleh dikekalkan, ia akan mengurangkan kelajuan pelaksanaan MySQL. Contohnya, dalam MySQL dengan operasi pertanyaan yang kerap, merekodkan log pertanyaan umum dan log pertanyaan perlahan akan mengambil banyak masa.
Fail log juga mengambil banyak ruang cakera keras. Untuk pangkalan data dengan bilangan pengguna yang sangat besar dan operasi yang sangat kerap, ruang storan yang diperlukan untuk fail log adalah lebih besar daripada yang diperlukan untuk fail pangkalan data. Oleh itu, sama ada untuk mendayakan log dan jenis log untuk didayakan bergantung pada aplikasi tertentu.
Pengetahuan lanjutan: MySQL menggunakan log binari untuk memulihkan pangkalan data
Log binari merekodkan semua operasi pengguna pada perubahan pangkalan data, seperti INSERT pernyataan, UPDATE pernyataan, CREATE pernyataan , dll. Jika pangkalan data kehilangan data disebabkan oleh operasi yang tidak betul atau sebab lain, anda boleh menggunakan log binari untuk melihat operasi pengguna dalam tempoh masa tertentu, dan memulihkan pangkalan data dalam kombinasi dengan sandaran pangkalan data.
Berikut akan memperkenalkan secara terperinci cara memulihkan pangkalan data menggunakan log binari.
Apabila pangkalan data rosak secara tidak sengaja, anda harus terlebih dahulu menggunakan fail sandaran terbaharu untuk memulihkan pangkalan data. Di samping itu, selepas sandaran, pangkalan data mungkin telah dikemas kini, dan log binari boleh digunakan untuk memulihkannya. Kerana log binari menyimpan penyata yang mengemas kini pangkalan data, seperti penyataan KEMASKINI, penyataan INSERT, dsb.
Arahan untuk memulihkan pangkalan data daripada log binari adalah seperti berikut:
mysqlbinlog filename.number | mysql -u root -p
Arahan di atas boleh difahami sebagai, mula-mula gunakan arahan mysqlbinlog untuk membaca kandungan nama fail.number , dan kemudian gunakan arahan mysql untuk menukar kandungan Pulihkan kepada pangkalan data.
Petua: Walaupun log binari boleh digunakan untuk memulihkan pangkalan data MySQL, ia juga mengambil banyak ruang cakera. Oleh itu, selepas membuat sandaran pangkalan data MySQL, log binari sebelum sandaran harus dipadamkan. Jika pengecualian berlaku selepas sandaran, mengakibatkan kehilangan data pangkalan data, ia boleh dipulihkan melalui log binari selepas sandaran.
Apabila menggunakan perintah mysqlbinlog untuk melakukan operasi pemulihan, yang dengan nombor yang lebih kecil mesti dipulihkan terlebih dahulu. Contohnya mylog.000001 mesti dipulihkan sebelum mylog.000002.
Contoh 1
Yang berikut menggunakan log binari untuk memulihkan pangkalan data Kod adalah seperti berikut:
mysqlbinlog mylog.000001 | mysql -u root -p mysqlbinlog mylog.000002 | mysql -u root -p mysqlbinlog mylog.000003 | mysql -u root -p mysqlbinlog mylog.000004 | mysql -u root -p
[Cadangan berkaitan: tutorial video mysql<.>]
Atas ialah kandungan terperinci Manakah fail log mysql?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!