Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan sandaran kontena pangkalan data dengan PHP

Bagaimana untuk melaksanakan sandaran kontena pangkalan data dengan PHP

王林
王林asal
2023-05-15 23:00:05763semak imbas

Dalam era awan hari ini, teknologi kontena semakin mendapat perhatian dalam pembangunan perisian, penggunaan serta pengendalian serta penyelenggaraan. Penggunaan teknologi kontena bukan sahaja dapat membantu kami mengurus aplikasi dengan lebih baik, tetapi juga memudahkan kerja operasi dan penyelenggaraan seperti sandaran pangkalan data. Artikel ini akan membincangkan kaedah melaksanakan sandaran kontena pangkalan data dalam PHP.

1. Apakah sandaran bekas pangkalan data?

Sandaran pangkalan data tradisional bergantung pada sistem pengendalian dan perkakasan, manakala sandaran dalam bekas mengumpul data dan bekas serta menyandarkan keseluruhan aplikasi dan data berdasarkan bekas. Melakukannya boleh mengelakkan had perkakasan dan sistem pengendalian dan juga memudahkan pengendalian program yang berterusan.

2. Bagaimanakah PHP melaksanakan sandaran bekas pangkalan data?

Terdapat banyak cara untuk melaksanakan sandaran kontena pangkalan data dalam PHP Di sini kami memperkenalkan penyelesaian sandaran berasaskan Docker:

  1. Pemasangan dan penggunaan Docker
Pertama, kami perlu memasang Docker Anda boleh memuat turun versi Docker CE (Edisi Komuniti) yang sepadan dari tapak web rasmi dan memasangnya. Selepas pemasangan berjaya, anda boleh memasukkan arahan versi docker dalam terminal untuk melihat maklumat versi dan status Docker.

Seterusnya, kita perlu menggunakan arahan Docker untuk memulakan gudang imej tempatan dan memetakan pangkalan data yang perlu disandarkan ke dalam bekas.

    Buat bekas MySQL
Pertama, kita perlu mencipta bekas MySQL untuk sandaran.

Jalankan arahan berikut:

docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d -p 3306:3306 mysql:5.7

Arahan di atas akan memuat turun imej versi MySQL5.7 secara automatik dan memulakan perkhidmatan MySQL dalam bekas. Antaranya, parameter --name digunakan untuk menamakan bekas, parameter -e digunakan untuk menetapkan kata laluan root MySQL, parameter -d menunjukkan memulakan bekas dalam mod daemon, dan parameter -p menunjukkan pemetaan MySQL 3306 port ke port 3306 hos , yang memudahkan penggunaan klien MySQL untuk sambungan.

    Buat bekas sandaran
Buat bekas sandaran dalam bekas MySQL:

docker run --rm --link mysql:mysql -v /home/mysql_backup:/backup mayswind/mysql-backup

Selepas melaksanakan arahan di atas, local /home/mysql_backup Fail sandaran dijana dalam direktori.

Antaranya, parameter --rm menunjukkan bahawa bekas akan dipadamkan secara automatik selepas keluar, parameter --link digunakan untuk memautkan bekas MySQL yang dibuat sebelum ini, dan parameter -v menunjukkan bahawa fail sandaran akan disimpan dalam direktori /home/mysql_backup pada hos.

Perlu diingat bahawa mayswind/mysql-backup ialah imej bekas sandaran yang boleh dimuat turun di Docker Hub Bekas ini menyediakan fungsi sandaran automatik bekas MySQL, yang lebih mudah dan praktikal.

    Sandaran berjadual
Dalam sandaran kontena, sandaran berjadual juga merupakan pautan yang sangat penting. Kita boleh menyediakan sandaran berjadual melalui arahan crontab, contohnya:

0 3 * * * /bin/bash /home/mysql_backup/mysql_backup.sh

Arahan di atas bermaksud skrip /home/mysql_backup/mysql_backup.sh akan dilaksanakan sekali setiap hari pada pukul tiga pagi untuk membuat sandaran data MySQL secara automatik.

Antaranya, kandungan skrip mysql_backup.sh adalah seperti berikut:

#!/bin/bash
OUTFILE="/backup/mysql_backup_$(date +%Y-%m-%d_%H-%M-%S).sql"
docker run --rm --link mysql:mysql -v /home/mysql_backup:/backup mayswind/mysql-backup backup --output-file=$OUTFILE --single-transaction

    Pulihkan sandaran
Apabila anda perlu memulihkan sandaran , anda boleh meneruskan langkah berikut:

a. Salin fail sandaran ke bekas MySQL, contohnya:

docker cp 2019-11-25_11-15-34.sql mysql:/backup/

b. Jalankan arahan berikut dalam bekas MySQL:

mysql -uroot -p123456 < /backup/2019-11-25_11-15-34.sql

Arahan ini akan memulihkan fail sandaran ke tengah MySQL.

3. Ringkasan

Melalui sandaran kontena, kami boleh membungkus aplikasi dan data bersama-sama untuk mencapai operasi sandaran dan pemulihan yang lebih mudah. Dalam PHP, kita boleh menggunakan alat Docker untuk melaksanakan sandaran kontena Kaedah khusus adalah agak mudah dan mudah untuk dilaksanakan. Saya percaya artikel ini boleh menjadi nilai rujukan tertentu kepada pembaca yang mencari PHP untuk melaksanakan sandaran kontena pangkalan data.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan sandaran kontena pangkalan data dengan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn