Melaksanakan Pemulihan Bencana Salib MySQL
Inti pemulihan bencana rentas serantau adalah untuk memastikan kesinambungan perniagaan melalui replikasi data dan penukaran automatik. 1. Kaedah replikasi data termasuk replikasi tak segerak (prestasi terbaik tetapi mungkin kehilangan data), replikasi semi-sinkron (konsistensi seimbang dan ketersediaan) dan replikasi kumpulan (ketersediaan tinggi tetapi kerumitan yang tinggi), dan dipilih mengikut toleransi data; 2. Latihan dan jalur lebar rangkaian mempengaruhi kecekapan replikasi, dan disyorkan untuk memampatkan penghantaran, menggabungkan transaksi, dan memantau kelewatan; 3. Strategi pensuisan dibahagikan kepada manual dan automatik. Penukaran automatik memerlukan pemeriksaan kesihatan dan latihan untuk mengelakkan penukaran yang tidak dijawab; 4. Senibina multi-aktif adalah sandaran panas, yang boleh dihidupkan pada bila-bila masa tetapi mempunyai kos yang tinggi. Sandaran sejuk sesuai untuk sistem bukan teras dan mempunyai masa pemulihan yang panjang.
Pemulihan Bencana Saluran MySQL sebenarnya menggunakan contoh pangkalan data di kawasan geografi yang berbeza untuk menangani kegagalan atau bencana serantau. Idea teras adalah dengan cepat menukar trafik ke kawasan sandaran apabila kawasan utama tidak tersedia melalui replikasi data dan mekanisme penukaran automatik, dengan itu memastikan kesinambungan perniagaan.

1. Pilih kaedah salinan data
Kunci pemulihan bencana rentas serantau adalah bagaimana data disegerakkan di antara kawasan yang berbeza. Penyelesaian yang biasa digunakan adalah:
- Replikasi Asynchronous : Latensi terendah, prestasi terbaik, tetapi mungkin kehilangan data.
- Replikasi Semisinkron : Menerima log sekurang -kurangnya satu nod hamba sebelum melakukan transaksi, mengimbangi ketersediaan dan konsistensi.
- Replikasi Kumpulan : Menyokong mod multi-tulisan, sesuai untuk senario ketersediaan tinggi, tetapi mempunyai konfigurasi kompleks dan penggunaan sumber yang tinggi.
Sekiranya anda mempunyai toleransi yang rendah untuk kehilangan data, disarankan untuk memberi keutamaan kepada replikasi semi-sinkron atau replikasi kumpulan; Jika anda menghargai prestasi lebih banyak dan anda boleh menerima sedikit kehilangan data, maka replikasi tidak segerak sudah cukup.

2. Latihan rangkaian dan kesan jalur lebar
Kawasan menyeberang sering bermaksud latensi rangkaian yang lebih tinggi dan jalur lebar terhad. Ini mempunyai kesan yang besar terhadap kecekapan replikasi, terutamanya untuk replikasi semi-sinkron dan kumpulan.
Beberapa cadangan pengoptimuman:

- Kurangkan penggunaan jalur lebar menggunakan pemindahan termampat (seperti membolehkan
binlog_compression
) - Elakkan penyerahan transaksi kecil yang kerap, operasi gabungan yang sesuai untuk mengurangkan bilangan interaksi rangkaian
- Pantau metrik kelewatan master-hamba (seperti
Seconds_Behind_Master
) untuk mengesan pengecualian tepat pada masanya
Sekiranya nod tuan rumah anda dikerahkan di China Timur dan China Utara masing-masing, kelewatan itu boleh mencapai puluhan milisaat. Pada masa ini, replikasi tak segerak akan lebih mudah untuk mengekalkan kestabilan daripada separa sinkron.
3. Strategi dan automasi menukar
Apabila ada masalah di kawasan utama, bagaimanakah saya dapat dengan cepat beralih ke nod alternatif? Terdapat dua arah di sini:
- Switching Manual : Sesuai untuk sistem dengan keperluan RTO rendah (sasaran masa pemulihan), selamat dan dikawal.
- Switching Automatik : Ia memerlukan kerjasama dengan pemeriksaan kesihatan, mengesan pengesanan otak dan mekanisme lain, seperti menggunakan alat orkestrator atau MHA.
Beberapa mata untuk memberi perhatian ketika bertukar secara automatik:
- Jangan beralih kerana jitter rangkaian pendek
- Selepas bertukar, pastikan data nod induk baru adalah terkini.
- Lapisan aplikasi juga mesti dapat melihat perubahan dan mengemas kini alamat sambungan
Secara umumnya disyorkan untuk melakukan gerudi lengkap terlebih dahulu, mensimulasikan downtime nod utama untuk melihat sama ada suis adalah normal, dan jangan tunggu sehingga sesuatu benar -benar berlaku untuk mengujinya buat kali pertama.
4. Senibina Multi-hidup atau Penyediaan Dingin?
Terdapat satu lagi keputusan penting dalam pelan pemulihan bencana: adakah anda merancang untuk membina "sandaran panas" yang boleh didapati pada bila -bila masa, atau hanya meletakkan sandaran sejuk dan tetap tidak tercemar?
- Siap sedia Hot : Penyegerakan data masa nyata, boleh dihidupkan pada bila-bila masa, dengan kos yang tinggi tetapi RTO/RPO yang rendah.
- Siap sedia sejuk : Proses sandaran dan pemulihan biasa adalah rendah tetapi masa pemulihan adalah panjang.
Jika ia adalah sistem kewangan, anda mesti memilih sandaran panas atau bahkan seni bina pelbagai aktif; Untuk perniagaan bukan teras seperti sistem pengurusan dalaman, sandaran sejuk dan pemulihan skrip sudah cukup.
Pada dasarnya itu sahaja. Pemulihan bencana rentas serantau bukan sesuatu yang dapat dicapai semalaman. Pelan ini mesti ditentukan berdasarkan tahap perniagaan, belanjawan, dan keupayaan teknikal. Butiran yang mudah diabaikan termasuk pemprosesan turun naik rangkaian, kelewatan penukaran DNS, perbezaan konfigurasi kebenaran, dan lain -lain, yang bernilai mengambil masa untuk mengesahkan.
Atas ialah kandungan terperinci Melaksanakan Pemulihan Bencana Salib MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

UsemysqliseauditpluginiPriseSpriseSpRingIponFigurationPonfigurationPonviSventSonPonfigurationShigurationShigurationShigurationShigurationShigurationWithServer-Audit = forcews_Plus_permanentAntoMizeSviSviSviAserver_events;

MySQL menyokong kekangan cek untuk memaksa integriti domain, berkesan dari versi 8.0.16; 1. Tambah kekangan apabila membuat jadual: Gunakan createtable untuk menentukan syarat semak, seperti umur ≥18, gaji> 0, nilai had jabatan; 2. Ubah suai jadual untuk menambah kekangan: Gunakan altertableaddConstraint untuk mengehadkan nilai medan, seperti nama tidak kosong; 3. Menggunakan syarat-syarat yang kompleks: menyokong logik dan ekspresi multi-lajur, seperti tarikh akhir ≥ multart status dan status siap mesti mempunyai tarikh akhir; 4. Padam Kekangan: Gunakan alterTableDRopConstraint untuk menentukan nama untuk memadam; 5. Nota: Mysql8.0.16, InnoDB atau Myisam perlu disebutkan

Useamany-to-manyrelationshipwithajunctionTableTolinkitemsandtagsviathreetables: item, tags, anditem_tags.2.WhenaddingTags, checkorexistingtagsinthetagstable, InsertIfnerary, thencreatemappingsinitem_TagsusterShanTaStranitem_TagsingTrans

Apabila berurusan dengan jadual besar, prestasi MySQL dan penyelenggaraan menghadapi cabaran, dan perlu bermula dari reka bentuk struktur, pengoptimuman indeks, strategi sub-meja jadual, dan sebagainya. 1. Gunakan indeks overlay untuk meningkatkan kecekapan pertanyaan; kerap menganalisis log pertanyaan perlahan dan memadam indeks tidak sah. 2. 3. Pertimbangkan pembacaan dan penulisan pemisahan dan pemisahan perpustakaan: Baca dan menulis pemisahan mengurangkan tekanan pada perpustakaan utama. Pemisahan perpustakaan dan pemisahan jadual sesuai untuk senario dengan sejumlah besar data. Adalah disyorkan untuk menggunakan middleware dan menilai masalah urus niaga dan masalah pertanyaan silang. Perancangan awal dan pengoptimuman berterusan adalah kunci.

Untuk memaparkan semua pangkalan data dalam MySQL, anda perlu menggunakan perintah ShowDatabases; 1. Selepas log masuk ke pelayan MySQL, anda boleh melaksanakan showdatabases; perintah untuk menyenaraikan semua pangkalan data bahawa pengguna semasa mempunyai kebenaran untuk mengakses; 2. Pangkalan data sistem seperti Maklumat_Schema, MySQL, Performance_Schema dan SYS wujud secara lalai, tetapi pengguna yang mempunyai kebenaran yang tidak mencukupi mungkin tidak dapat melihatnya; 3. Anda juga boleh menanyakan dan menapis pangkalan data melalui selectschema_namefrominformation_schema.schemata; Sebagai contoh, tidak termasuk pangkalan data sistem untuk hanya memaparkan pangkalan data yang dibuat oleh pengguna; Pastikan untuk menggunakan

Untuk menambah kunci utama ke jadual yang sedia ada, gunakan pernyataan altertable dengan klausa AddPrimaryKey. 1. Pastikan lajur sasaran tidak mempunyai nilai null, tiada duplikasi dan ditakrifkan sebagai notnull; 2. Sintaks utama utama tunggal-lajur adalah nama meja altertable AddPrimaryKey (nama lajur); 3. Sintaks utama utama kombinasi Kombinasi Multi-lajur adalah nama jadual Altertable AddPrimaryKey (lajur 1, lajur 2); 4 Jika lajur membenarkan batal, anda mesti terlebih dahulu melaksanakan Modify to menetapkan notnull; 5. Setiap jadual hanya boleh mempunyai satu kunci utama, dan kunci utama lama mesti dipadamkan sebelum menambah; 6. Jika anda perlu meningkatkannya sendiri, anda boleh menggunakan Modify untuk menetapkan auto_increment. Pastikan data sebelum beroperasi

Semak sama ada perkhidmatan MySQL sedang berjalan, gunakan sudosystemctlstatusmysql untuk mengesahkan dan memulakan; 2. Pastikan alamat pengikat ditetapkan kepada 0.0.0.0 untuk membolehkan sambungan jauh dan mulakan semula perkhidmatan; 3. Sahkan sama ada pelabuhan 3306 dibuka, periksa dan konfigurasikan peraturan firewall untuk membenarkan pelabuhan; 4. Untuk ralat "Accessdenied", anda perlu menyemak nama pengguna, kata laluan dan nama hos, dan kemudian log masuk ke MySQL dan menanyakan jadual MySQL.user untuk mengesahkan kebenaran. Jika perlu, buat atau kemas kini pengguna dan membenarkannya, seperti menggunakan 'your_user'@'%'; 5. Sekiranya pengesahan hilang kerana caching_sha2_password

Kaedah teras untuk merealisasikan pengesan hubungan darah MySQL termasuk: 1. Gunakan binlog untuk merakam sumber perubahan data, membolehkan dan menganalisis binlog, dan mengesan tindakan perniagaan tertentu dalam kombinasi dengan konteks lapisan aplikasi; 2. Suntikan tag ikatan darah ke dalam proses ETL, dan merekodkan hubungan pemetaan antara sumber dan sasaran apabila menyegerakkan alat; 3. Tambah komen dan tag metadata ke data, terangkan sumber medan apabila membina jadual, dan sambungkan ke sistem pengurusan metadata untuk membentuk peta visual; 4. Perhatikan konsistensi utama utama, elakkan kebergantungan yang berlebihan pada analisis SQL, perubahan model data kawalan versi, dan kerap memeriksa data hubungan darah untuk memastikan penjejakan hubungan darah yang tepat dan boleh dipercayai.
