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.
mysqldump -u 用户名 -p 密码 数据库名 > 备份文件名.sql
(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
mysql -u 用户名 -p 密码 数据库名 < 备份文件名.sql
(2) Pemulihan fizikal
Pemulihan fizikal dipulihkan dengan menyalin fail binari yang disandarkan terus ke direktori data MySQL. Berikut ialah contoh:
停止MySQL服务 复制备份的二进制文件到数据目录下对应的位置 启动MySQL服务
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.
pg_dump -U 用户名 -f 备份文件名.sql 数据库名
(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
Kemudian, dalam direktori sandaran, buat fail konfigurasi pemulihan recovery.conf dan tetapkan standby_mode kepada 'hidup':
echo "standby_mode = 'on'" >> 备份目录/recovery.conf
psql -U 用户名 -d 数据库名 -f 备份文件名.sql
(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
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!