Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk mengubah suai tahap pengasingan mysql

Bagaimana untuk mengubah suai tahap pengasingan mysql

藏色散人
藏色散人asal
2021-12-29 14:09:215398semak imbas

Cara mengubah suai tahap pengasingan mysql: 1. Cari "skip-external-locking"; 2. Tambah kandungan "transaction-isolation = READ-COMMITTED" 3. Mulakan semula perkhidmatan mysql.

Bagaimana untuk mengubah suai tahap pengasingan mysql

Persekitaran pengendalian artikel ini: sistem Windows 7, mysql versi 5.5, komputer Dell G3.

Bagaimana untuk mengubah suai tahap pengasingan mysql?

Tahap pengasingan transaksi MySQL dan kaedah pengubahsuaian

Ubah suai tahap pengasingan transaksi Mysql:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

Tambah selepas kedudukan:

lc-messages-dir = /usr/share/mysql
skip-external-locking

(baca kandungan penyerahan):

transaction-isolation = READ-COMMITTED

Simpan dan mulakan semula perkhidmatan mysql:

sudo service mysql restart

4 tahap pengasingan SQL

Read Uncommitted (baca kandungan tidak komited)

Pada tahap pengasingan ini, semua urus niaga boleh melihat hasil pelaksanaan transaksi yang lain tanpa komitmen. Tahap pengasingan ini jarang digunakan dalam aplikasi praktikal kerana prestasinya tidak jauh lebih baik daripada tahap lain. Membaca data tanpa komitmen juga dipanggil bacaan kotor.

Read Committed

Ini ialah tahap pengasingan lalai untuk kebanyakan sistem pangkalan data (tetapi bukan lalai MySQL). Ia memenuhi definisi mudah pengasingan: transaksi hanya boleh melihat perubahan yang dibuat oleh transaksi yang komited. Tahap pengasingan ini juga menyokong apa yang dipanggil bacaan tidak boleh berulang, kerana kejadian lain bagi transaksi yang sama mungkin mempunyai komitmen baharu semasa pemprosesan contoh, jadi pilihan yang sama mungkin mengembalikan hasil yang berbeza.

Repeatable Read (Mysql lalai kepada item ini: REPEATABLE-READ)

Ini ialah tahap pengasingan transaksi lalai MySQL, yang memastikan bahawa berbilang kejadian transaksi yang sama boleh membaca data serentak, anda akan melihat baris data yang sama. Walau bagaimanapun, secara teori, ini akan membawa kepada satu lagi masalah berduri: bacaan hantu (Phantom Read). Ringkasnya, bacaan hantu bermakna apabila pengguna membaca julat baris data tertentu, transaksi lain memasukkan baris baharu dalam julat Apabila pengguna membaca baris data dalam julat itu semula, dia akan mendapati terdapat " Hantu” baharu. OK. Enjin storan InnoDB dan Falcon menyelesaikan masalah ini melalui mekanisme kawalan pertukaran berbilang versi (MVCC, Kawalan Penukaran Berbilang Versi).

Boleh bersiri

Ini adalah tahap pengasingan tertinggi Ia menyelesaikan masalah bacaan hantu dengan memaksa transaksi dipesan supaya tidak bercanggah antara satu sama lain. Ringkasnya, ia menambah kunci dikongsi pada setiap baris data yang dibaca. Pada tahap ini, banyak masa tamat dan pertikaian kunci boleh berlaku.

                                                                                                                                                                           … 🎜>

Bacaan Kotor: Satu transaksi telah mengemas kini satu keping data, dan satu lagi transaksi A dibaca data yang sama pada masa ini Atas sebab tertentu, operasi RollBack sebelumnya dilakukan dan data yang dibaca oleh transaksi yang terakhir akan menjadi salah.

Bacaan tidak boleh diulang: Data tidak konsisten antara dua pertanyaan transaksi Ini mungkin kerana data asal yang dikemas kini oleh transaksi telah dimasukkan antara dua pertanyaan.

Baca Hantu: Bilangan item data dalam dua pertanyaan transaksi tidak konsisten Contohnya, satu transaksi menanyakan beberapa baris data, manakala transaksi lain memasukkan data baharu pada masa ini pertanyaan seterusnya bagi transaksi sebelumnya, anda akan mendapati terdapat beberapa lajur data yang tidak ada sebelum ini.

# !

Selepas django2 🎜>

Pembelajaran yang disyorkan: "

tutorial video mysql

"

Atas ialah kandungan terperinci Bagaimana untuk mengubah suai tahap pengasingan mysql. 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