Dalam kerja harian, pangkalan data MySQL ialah pangkalan data yang sangat biasa digunakan, tetapi ia tidak sempurna. Kadangkala, pemadaman data secara tidak sengaja tidak dapat dielakkan, dan kemudian anda perlu memulihkan data yang dipadam secara tidak sengaja. Artikel ini akan memperkenalkan beberapa kaedah pemulihan untuk data MySQL yang dipadam secara tidak sengaja.
1. Sandarkan data
Sebelum melakukan sebarang operasi, anda harus membuat sandaran pangkalan data MySQL. Dengan cara ini, walaupun data dipadamkan secara tidak sengaja, ia boleh dipulihkan daripada fail sandaran. Untuk memastikan integriti data sandaran, anda boleh menggunakan arahan mysqldump untuk mengeksport pangkalan data:
mysqldump -u root -p database > database_backup.sql
di mana root ialah nama pengguna MySQL, pangkalan data ialah nama pangkalan data yang akan disandarkan , dan operator > ialah hasil daripada eksport Tulis ke fail bernama database_backup.sql.
2. Gunakan fail Binlog
Fail Binlog ialah log binari yang MySQL merekodkan semua operasi. Jika tiada fail sandaran tersedia, anda boleh memulihkan data yang dipadam secara tidak sengaja melalui log binari. Kaedahnya adalah seperti berikut:
(1) Lihat fail Binlog
Gunakan arahan berikut untuk melihat nama fail Binlog:
show binary logs;
Anda boleh melihat semasa Senarai fail Binlog dalam MySQL dan namanya.
(2) Cari masa data terpadam secara tidak sengaja
Cari fail Binlog yang sepadan dan offsetnya berdasarkan masa data terpadam secara tidak sengaja. Anda boleh menggunakan arahan berikut:
mysqlbinlog --start-datetime="YYYY-MM-DD HH:MM:SS" --stop-datetime="YYYY-MM-DD HH:MM:SS" /path/to/binlog/file
di mana masa mula tarikh dan masa tamat masing-masing mewakili masa mula dan masa tamat. Anda boleh menggunakan tarikh atau kedudukan untuk mencari titik data yang dipadam secara tidak sengaja.
(3) Pulihkan data
Selepas mencari fail Binlog dan mengimbangi data yang dipadam secara tidak sengaja, anda boleh menggunakan arahan berikut untuk memulihkan data:
mysqlbinlog /path/to/binlog/file --start-position=offset --stop-position=offset | mysql -h serverAddress -u userName -p
Antara mereka, /path /to/binlog/file ialah laluan fail Binlog, offset ialah offset, serverAddress ialah alamat pelayan, UserName ialah nama pengguna MySQL, dan pilihan -p menunjukkan bahawa kata laluan diperlukan.
3. Gunakan alat pihak ketiga
Jika kaedah di atas tidak dapat memulihkan data yang dipadam secara tidak sengaja, anda boleh mempertimbangkan untuk menggunakan beberapa alatan pihak ketiga. Contohnya:
MySQL Binlog Viewer: Anda boleh melihat kandungan fail Binlog.
Pemulihan untuk MySQL: Data boleh dipulihkan daripada fail sandaran.
Navicat untuk MySQL: Boleh menyediakan fungsi menyandarkan dan memulihkan data.
Ringkasnya, pemadaman data secara tidak sengaja adalah situasi yang memalukan, tetapi ia tidak terdesak. Selagi sandaran tepat pada masanya dan kaedahnya sesuai, data yang dipadam secara tidak sengaja boleh dipulihkan tanpa menjejaskan perniagaan.
Atas ialah kandungan terperinci Bagaimana untuk memulihkan data yang dipadam secara tidak sengaja dalam MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!