Rumah > pangkalan data > tutorial mysql > Sandaran dan Pemulihan Pangkalan Data: MySQL lwn. PostgreSQL

Sandaran dan Pemulihan Pangkalan Data: MySQL lwn. PostgreSQL

PHPz
Lepaskan: 2023-07-14 10:04:39
asal
699 orang telah melayarinya

Sandaran dan pemulihan pangkalan data: MySQL lwn. PostgreSQL

Pengenalan:
Sandaran dan pemulihan pangkalan data adalah bahagian penting dalam pengurusan pangkalan data. Semasa operasi pangkalan data dan proses penyelenggaraan, kami perlu kerap membuat sandaran pangkalan data untuk menangani kecemasan dan dapat memulihkan data dengan cepat untuk memastikan kesinambungan perniagaan. Artikel ini akan menumpukan pada membandingkan strategi sandaran dan pemulihan yang berbeza bagi dua sistem pengurusan pangkalan data hubungan biasa (DBMS): MySQL dan PostgreSQL, dan menyediakan contoh kod yang sepadan.

1. MySQL
MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka yang digunakan secara meluas. Dalam MySQL, kita boleh menggunakan pelbagai kaedah untuk sandaran dan pemulihan.

  1. Backup
    (1) Logical backup
    Logical backup merujuk kepada mengeksport struktur logik pangkalan data ke dalam fail logik, seperti menggunakan alat mysqldump untuk mengeksport data ke dalam skrip SQL. Berikut ialah contoh:
mysqldump -u 用户名 -p 密码 数据库名 > 备份文件名.sql
Salin selepas log masuk

(2) Sandaran fizikal
Sandaran fizikal adalah untuk membuat sandaran terus fail binari pangkalan data, termasuk fail data dan fail log. Kita boleh menggunakan mysqlpump alat MySQL sendiri untuk melakukan sandaran fizikal. Berikut ialah contoh:

mysqlpump -u 用户名 -p 密码 --default-character-set=utf8 数据库名 --result-file=备份文件名.sql
Salin selepas log masuk
  1. Pulihkan
    (1) Pemulihan logik
    Pemulihan logik ialah memulihkan pangkalan data dengan melaksanakan skrip SQL dalam fail sandaran. Berikut ialah contoh:
mysql -u 用户名 -p 密码 数据库名 < 备份文件名.sql
Salin selepas log masuk

(2) Pemulihan fizikal
Pemulihan fizikal dipulihkan dengan menyalin fail binari yang disandarkan terus ke direktori data MySQL. Berikut ialah contoh:

停止MySQL服务
复制备份的二进制文件到数据目录下对应的位置
启动MySQL服务
Salin selepas log masuk

2. PostgreSQL
PostgreSQL ialah sistem pengurusan pangkalan data hubungan objek sumber terbuka yang berkuasa. Dalam PostgreSQL, kami juga boleh menggunakan pelbagai kaedah untuk sandaran dan pemulihan.

  1. Backup
    (1) Logical backup
    Logical backup ialah mengeksport pangkalan data ke dalam fail logik dengan menggunakan alat pg_dump. Berikut ialah contoh:
pg_dump -U 用户名 -f 备份文件名.sql 数据库名
Salin selepas log masuk

(2) Sandaran fizikal
Sandaran fizikal adalah untuk membuat sandaran terus fail data dan fail WAL (Write Ahead Log) pangkalan data. Kita boleh menggunakan alat pg_basebackup untuk melakukan sandaran fizikal. Berikut ialah contoh:

Mula-mula, buat sandaran asas pada pelayan induk PostgreSQL:

pg_basebackup -h 主服务器地址 -D 备份目录 -Fp -Xs -P
Salin selepas log masuk

Kemudian, dalam direktori sandaran, buat fail konfigurasi pemulihan recovery.conf dan tetapkan standby_mode kepada 'hidup':

echo "standby_mode = 'on'" >> 备份目录/recovery.conf
Salin selepas log masuk
  1. Pulihkan
    (1) Pemulihan logik
    Pemulihan logik adalah untuk memulihkan pangkalan data dengan melaksanakan skrip SQL dalam fail sandaran. Berikut ialah contoh:
psql -U 用户名 -d 数据库名 -f 备份文件名.sql
Salin selepas log masuk

(2) Pemulihan fizikal
Pemulihan fizikal dipulihkan dengan menyalin fail data dan fail WAL yang disandarkan ke direktori data PostgreSQL. Berikut ialah contoh:

Mula-mula, hentikan perkhidmatan PostgreSQL pada pelayan sandaran dan salin fail sandaran ke lokasi yang sepadan dalam direktori data.

Kemudian, pada pelayan pemulihan, cipta fail konfigurasi pemulihan recovery.conf dan tetapkan primary_conninfo untuk menghala ke pelayan utama:

echo "primary_conninfo = 'host=主服务器地址 port=主服务器端口 user=用户名 password=密码'" >> 数据目录/recovery.conf
Salin selepas log masuk

Akhir sekali, mulakan perkhidmatan PostgreSQL.

Kesimpulan:
Melalui perbandingan MySQL dan PostgreSQL di atas dari segi sandaran dan pemulihan, kita dapat melihat bahawa mereka mempunyai kaedah yang sedikit berbeza, tetapi pada asasnya ia dapat memenuhi keperluan sandaran dan pemulihan pangkalan data. Kaedah untuk digunakan bergantung terutamanya pada senario aplikasi sebenar dan pilihan peribadi. Tidak kira kaedah yang anda pilih, sandaran biasa dan pemulihan ujian adalah langkah penting untuk memastikan keselamatan data dan kesinambungan perniagaan.

Atas ialah kandungan terperinci Sandaran dan Pemulihan Pangkalan Data: MySQL lwn. PostgreSQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan