Rumah > Artikel > pangkalan data > Bagaimana untuk melaksanakan sandaran penuh dan sandaran tambahan pangkalan data MySQL
Sandaran penuh adalah untuk menyandarkan semua data dan semua objek dalam pangkalan data.
Memandangkan fail data dalam pelayan MySQL adalah fail teks berasaskan cakera, sandaran penuh adalah untuk menyalin fail pangkalan data, yang merupakan cara paling mudah dan terpantas.
Walau bagaimanapun, fail data pelayan MySQL sentiasa terbuka semasa pelayan sedang berjalan Untuk mencapai sandaran penuh yang benar, pelayan pangkalan data MySQL perlu dihentikan terlebih dahulu.
Untuk memastikan integriti data, sebelum menghentikan pelayan MySQL, anda perlu melaksanakan pernyataan jadual flush untuk menulis semua data ke fail data. Pelajar hanya perlu tahu bahawa kaedah ini tidak boleh dilaksanakan kerana tidak digalakkan untuk menghentikan pangkalan data untuk sandaran dalam persekitaran pengeluaran.
Gunakan perintah mysqldump untuk menyandarkan jadual, pangkalan data dan sistem pangkalan data:
mysqldump [-h主机名] –u用户名 –p密码 --lock-all-tables --database [tables] > 文件名
-h nama hos, yang boleh ditinggalkan, menunjukkan pelayan setempat, --lock-all-tables untuk jadual disandarkan Kunci baca digunakan pada semua jadual dalam pangkalan data (semasa proses ini, pangkalan data dalam keadaan baca sahaja Anda boleh menambah jadual yang perlu disandarkan selepas --database If nama jadual tidak dinyatakan, ini bermakna membuat sandaran keseluruhan pangkalan data.
Sediakan jadual pelajar dan bina jadual dalam pangkalan data dunia.
Buat jadual:
CREATE DATABASE world; USE world; CREATE TABLE student( stuId INT(10) NOT NULL, stuName VARCHAR(10) NOT NULL, stuAge INT(10) NOT NULL, PRIMARY KEY(stuId) );
Sisipkan data:
INSERT INTO student(stuId, stuName, stuAge) VALUES(1, 'zhangsan', 18), (2, 'lisi', 19),(3, 'wangwu', 18);
Gunakan flush tables;
pernyataan menulis semua data ke dalam fail data:
FLUSH TABLES;
Keluar dari persekitaran mysql dan gunakan arahan mysqldump untuk membuat sandaran lengkap dunia pangkalan data:
mysqldump -u root -p --lock-all-tables --databases world > /tmp/world.sql
Masukkan /tmp direktori dan lihat fail Sandaran:
cd /tmp ls
Kini, kami telah membuat sandaran sepenuhnya pustaka dunia dan tidak takut kehilangan data.
Simulasikan kehilangan jadual pelajar dalam pangkalan data dunia:
DROP TABLE student;
Sahkan bahawa jadual telah dipadamkan
SHOW TABLES;
Gunakan arahan mysql untuk memulihkan pangkalan data:
mysql -uroot -p < /tmp/world.sql
Masukkan persekitaran mysql dan lihat hasil pemulihan:
SHOW TABLES;
Hasil output:
Sahkan data dalam jadual:
SELECT * FROM student;
Sandaran tambahan ialah berubah sejak sandaran penuh terakhir atau sandaran tambahan Sandaran data bergantung pada fail log binari, dan log binlog pangkalan data perlu dihidupkan. Mula-mula lakukan sandaran penuh pangkalan data, dan muat semula log binlog pada masa yang sama Semua operasi selepas sandaran ini akan direkodkan dalam log binlog baharu Kami hanya perlu menyandarkan binlog yang ditambah untuk merealisasikan peningkatan kandungan yang berterusan. Sandaran pangkalan data yang sempurna. Apabila keabnormalan berlaku dalam pangkalan data, kami mula-mula boleh memulihkan sandaran penuh terbaharu, dan kemudian memulihkan fail sandaran tambahan satu demi satu dalam urutan untuk mencapai pemulihan pangkalan data.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan sandaran penuh dan sandaran tambahan pangkalan data MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!