Apakah prinsip pemisahan baca dan tulis MySQL?
1. Konsep pengasingan baca-tulis
Pengasingan baca-tulis dilaksanakan berdasarkan replikasi tuan-hamba. Dalam persekitaran aplikasi sebenar, mesti terdapat banyak operasi baca Sama seperti apabila kita membeli sesuatu pada platform e-dagang, kita mungkin hanya membeli satu atau dua selepas melihat 100 item. Oleh itu, sentiasa terdapat lebih banyak operasi baca daripada operasi kemas kini tulis. Oleh itu, konfigurasi pemisahan baca-tulis kami berdasarkan replikasi master-slave bermakna pangkalan data induk dikhususkan untuk mengubah suai data Apabila menulis, ia ditulis secara eksklusif pada pangkalan data induk replikasi melalui binlog, maka permintaan pertanyaan pelanggan lain akhirnya akan dipetakan ke perpustakaan hamba, dan kami mempunyai satu perpustakaan utama dengan dua atau tiga perpustakaan hamba Pustaka utama digunakan khas untuk mengemas kini data (operasi tulis). dan perpustakaan hamba Perpustakaan digunakan khas untuk operasi membaca Dengan cara ini, tekanan membaca dan menulis boleh diagihkan dengan baik. Ia tidak perlu tertumpu pada perpustakaan utama Perkhidmatan Selain itu, ia mempunyai kapasiti ketersediaan yang tinggi Jika berlaku bencana, apabila pangkalan data utama gagal, pangkalan data hamba yang ditentukan boleh diubah menjadi pangkalan data induk.
Pelanggan MySQL menggunakan API yang disediakan oleh mysql untuk berkomunikasi dengan Pelayan MySQL dan mengakses pangkalan data Pelayan MySQL menggunakan protokol data berasaskan TCP tersuai mysql (dirujuk sebagai protokol mysql).
Jika hanya terdapat satu pelayan (persekitaran yang berdiri sendiri), semua penambahan data, pemadaman, pengubahsuaian dan pertanyaan dilakukan pada satu pelayan Memandangkan perkhidmatan kami digunakan oleh semakin ramai orang, trafik secara beransur-ansur meningkat. Keupayaan concurrency perlu dipertingkatkan secara beransur-ansur, jadi jika kami mendapati prestasi pangkalan data telah mencapai kesesakan, kami boleh melakukan operasi pemisahan baca-tulis untuk meningkatkan perkhidmatan latar belakang.
Pelayan utama MySQL dalam gambar dikhaskan untuk operasi menulis Terdapat 2 pelayan hamba MySQL yang disambungkan di bawah untuk melaksanakan operasi baca dimajukan kepada B dan C. dan permintaan tulis dimajukan kepada A.
Jika kami menulis kod terus pada klien, operasi tulis seperti sisipan dan kemas kini dilakukan pada A, dan operasi baca seperti tunjukkan dan pilih dilakukan pada B dan C. Ini bersamaan dengan kod dan induk -persekitaran hamba. Ini membawa kepada kestabilan kod yang lemah, kerana ia sangat berkaitan dengan persekitaran Apabila kita menulis kod, kita mesti tahu mesin mana yang bertanggungjawab untuk operasi menulis, dan mesin mana yang bertanggungjawab untuk operasi membaca kod memilih. Pada masa ini, jika mesin menutup telefon, kod tidak akan mengetahuinya dan masih akan memajukan permintaan dengan cara asal, dan masalah komunikasi akan berlaku, pastinya tidak sesuai untuk melaksanakan pengasingan membaca dan menulis dalam kod . Jadi dalam penyelesaian sebenar, pemisahan membaca dan menulis memerlukan bergantung pada perisian tengah pangkalan data .
2. Memperkenalkan middleware MyCat
Malah, pemisahan membaca dan menulis, dan sub-pangkalan data dan sub-pergantungan jadual memerlukan perisian tengah pangkalan data (mycat), yang merupakan peranan pelayan proksi.
Pelanggan sebenarnya tidak boleh memberitahu sama ada ia disambungkan kepada MyCat atau MySQL, kerana komunikasi mengikut protokol komunikasi MySQL sebelum ini, cara berkomunikasi dengannya kini MyCat berkomunikasi, jadi tidak perlu membezakan.
Mengkonfigurasikan pemisahan baca-tulis pada MyCat, kami tidak perlu membuat sebarang perubahan pada kod pada klien Kod tidak perlu membezakan permintaan yang mana untuk dibaca dan yang mana permintaan adalah untuk menulis, kod itu mengakses terus Yang satu ialah MyCat, yang menghuraikan permintaan dan memajukannya kepada pelayan yang bertanggungjawab untuk operasi yang sepadan mengikut sifat baca dan tulis SQL untuk mencapai pemisahan baca dan tulis.
Anda perlu mengkonfigurasi maklumat pelayan induk dan pelayan hamba pada MyCat Terdapat tiga situasi: Satu tuan dan seorang hamba, satu tuan dan berbilang hamba, dan berbilang. tuan dan berbilang hamba
Senario satu tuan dan berbilang hamba: Apabila perpustakaan penulisan (tuan) gagal, MyCat juga boleh menukar perpustakaan hamba (hamba) terus kepada perpustakaan penulisan (tuan), yang adalah bersamaan dengan kembali ke perpustakaan penulisan (master Untuk pemprosesan mesin, kerana tiada konfigurasi replikasi induk-hamba antara perpustakaan hamba dan perpustakaan hamba, kita juga perlu mengkonfigurasi replikasi induk-hamba antara perpustakaan hamba yang menjadi. perpustakaan penulisan dan perpustakaan hamba lain.
Berbilang tuan dan berbilang hamba:
Seperti yang anda boleh lihat dalam gambar, pelayan MyCat mempunyai dua set persekitaran. Jika salah satu daripadanya Pangkalan data utama tidak berfungsi (pangkalan data hamba yang sepadan juga tidak tersedia Pada masa ini, MyCat akan bertukar secara automatik ke persekitaran lain, kerana M1 dan M2 juga dikonfigurasikan sebagai tuan dan hamba bersama, jadi M2 boleh menyegerakkan data M1 dan menyediakan perkhidmatan yang sama persis dengan persekitaran M1, jadi ketersediaan tinggi dan keupayaan pemulihan bencana adalah sangat baik.
3. Port perkhidmatan dan port pengurusan MyCat
Port perkhidmatan MySQL ialah 3306, Port perkhidmatan MyCat ialah 8066 (port ini juga boleh ditukar), iaitu MySQL The Pelanggan menyambung ke port 8066. Antara muka yang anda lihat semasa log masuk ke port 8066 adalah sama seperti log masuk ke port 3306 Pelayan MySQL. MyCat juga mempunyai port pengurusan 9066 Log masuk ke port pengurusan ini untuk melihat semua status kerja MyCat dan sambungan ke pelayan bahagian belakang, serta status sambungan ke sumber data. .
Atas ialah kandungan terperinci Apakah prinsip pemisahan baca dan tulis MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

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

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

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

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)

Topik panas



Dalam pangkalan data MySQL, hubungan antara pengguna dan pangkalan data ditakrifkan oleh kebenaran dan jadual. Pengguna mempunyai nama pengguna dan kata laluan untuk mengakses pangkalan data. Kebenaran diberikan melalui perintah geran, sementara jadual dibuat oleh perintah membuat jadual. Untuk mewujudkan hubungan antara pengguna dan pangkalan data, anda perlu membuat pangkalan data, membuat pengguna, dan kemudian memberikan kebenaran.

MySQL sesuai untuk pemula kerana mudah dipasang, kuat dan mudah untuk menguruskan data. 1. Pemasangan dan konfigurasi mudah, sesuai untuk pelbagai sistem operasi. 2. Menyokong operasi asas seperti membuat pangkalan data dan jadual, memasukkan, menanyakan, mengemas kini dan memadam data. 3. Menyediakan fungsi lanjutan seperti menyertai operasi dan subqueries. 4. Prestasi boleh ditingkatkan melalui pengindeksan, pengoptimuman pertanyaan dan pembahagian jadual. 5. Sokongan sokongan, pemulihan dan langkah keselamatan untuk memastikan keselamatan data dan konsistensi.

Penyederhanaan Integrasi Data: AmazonRDSMYSQL dan Integrasi Data Integrasi Zero ETL Redshift adalah di tengah-tengah organisasi yang didorong oleh data. Proses tradisional ETL (ekstrak, menukar, beban) adalah kompleks dan memakan masa, terutamanya apabila mengintegrasikan pangkalan data (seperti Amazonrdsmysql) dengan gudang data (seperti redshift). Walau bagaimanapun, AWS menyediakan penyelesaian integrasi ETL sifar yang telah mengubah keadaan ini sepenuhnya, menyediakan penyelesaian yang mudah, hampir-sebenar untuk penghijrahan data dari RDSMYSQL ke redshift. Artikel ini akan menyelam ke integrasi RDSMYSQL Zero ETL dengan redshift, menjelaskan bagaimana ia berfungsi dan kelebihan yang dibawa kepada jurutera dan pemaju data.

Untuk mengisi nama pengguna dan kata laluan MySQL: 1. Tentukan nama pengguna dan kata laluan; 2. Sambungkan ke pangkalan data; 3. Gunakan nama pengguna dan kata laluan untuk melaksanakan pertanyaan dan arahan.

1. Gunakan indeks yang betul untuk mempercepatkan pengambilan data dengan mengurangkan jumlah data yang diimbas memilih*frommployeesWherElast_name = 'Smith'; Jika anda melihat lajur jadual beberapa kali, buat indeks untuk lajur tersebut. Jika anda atau aplikasi anda memerlukan data dari pelbagai lajur mengikut kriteria, buat indeks komposit 2. Elakkan pilih * Hanya lajur yang diperlukan, jika anda memilih semua lajur yang tidak diingini, ini hanya akan memakan lebih banyak pelayan dan menyebabkan pelayan melambatkan pada masa yang tinggi atau kekerapan misalnya, jadual anda

Penjelasan terperinci mengenai atribut asid asid pangkalan data adalah satu set peraturan untuk memastikan kebolehpercayaan dan konsistensi urus niaga pangkalan data. Mereka menentukan bagaimana sistem pangkalan data mengendalikan urus niaga, dan memastikan integriti dan ketepatan data walaupun dalam hal kemalangan sistem, gangguan kuasa, atau pelbagai pengguna akses serentak. Gambaran keseluruhan atribut asid Atomicity: Transaksi dianggap sebagai unit yang tidak dapat dipisahkan. Mana -mana bahagian gagal, keseluruhan transaksi dilancarkan kembali, dan pangkalan data tidak mengekalkan sebarang perubahan. Sebagai contoh, jika pemindahan bank ditolak dari satu akaun tetapi tidak meningkat kepada yang lain, keseluruhan operasi dibatalkan. Begintransaction; UpdateAcCountSsetBalance = Balance-100Wh

Navicat sendiri tidak menyimpan kata laluan pangkalan data, dan hanya boleh mengambil kata laluan yang disulitkan. Penyelesaian: 1. Periksa Pengurus Kata Laluan; 2. Semak fungsi "Ingat Kata Laluan" Navicat; 3. Tetapkan semula kata laluan pangkalan data; 4. Hubungi pentadbir pangkalan data.

Klausa SQLLIMIT: Kawal bilangan baris dalam hasil pertanyaan. Klausa had dalam SQL digunakan untuk mengehadkan bilangan baris yang dikembalikan oleh pertanyaan. Ini sangat berguna apabila memproses set data yang besar, paparan paginat dan data ujian, dan dapat meningkatkan kecekapan pertanyaan dengan berkesan. Sintaks Asas Sintaks: SelectColumn1, Column2, ... FROMTABLE_NAMELIMITNUMBER_OF_ROWS; Number_of_rows: Tentukan bilangan baris yang dikembalikan. Sintaks dengan Offset: SelectColumn1, Column2, ... Fromtable_namelimitoffset, Number_of_rows; Offset: Langkau
