Jadual Kandungan
Apakah perbezaan antara 5.6 dan 5.5 dalam mysql
Rumah pangkalan data tutorial mysql Apakah perbezaan antara 5.6 dan 5.5 dalam mysql

Apakah perbezaan antara 5.6 dan 5.5 dalam mysql

Mar 01, 2022 pm 03:47 PM
mysql

Perbezaan: 1. Dalam versi 5.5, parameter binlog dan POS tidak boleh ditinggalkan dalam konfigurasi hamba induk, tetapi dalam versi 5.6, kedua-dua parameter ini boleh diabaikan. Dalam versi 5.5, berbilang benang replikasi tidak disokong. Replikasi segerak adalah satu-benang dan beratur, manakala replikasi berbilang benang disokong dalam versi 5.6.

Apakah perbezaan antara 5.6 dan 5.5 dalam mysql

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8.0.22, komputer Dell G3.

Apakah perbezaan antara 5.6 dan 5.5 dalam mysql

Peningkatan dalam 5.6:

1 Dalam versi 5.5 dan mysql sebelumnya, konfigurasi master-slave mesti dilakukan dalam konfigurasi Node hamba tukar induk untuk menentukan binlog dan POS. Dalam 5.6 dan kemudian

, kedua-dua parameter ini boleh diabaikan. MySQL secara automatik boleh mencari titik penyegerakan melalui mekanisme GTID dalaman. Kami hanya perlu menentukan IP tuan, nama pengguna dan kata laluan, dan port.

2. 5.6 menyokong replikasi berbilang benang

Dalam 5.5, replikasi segerak adalah satu-benang dan beratur, dan hanya boleh dilaksanakan oleh satu. Dalam 5.6, berbilang perpustakaan boleh disalin pada masa yang sama (nota: multi-threading masih tidak dibenarkan dalam perpustakaan yang sama).

5.6 akan melibatkan parameter UUID

MySQL [(none)]>show variables like '%uuid%';
+---------------+--------------------------------------+
| Variable_name | Value                                |
+---------------+--------------------------------------+
| server_uuid   | ca910cf0-3aec-11e6-9319-b888e3dcfeb8 |
+---------------+--------------------------------------+
1 row in set (0.00 sec)
Salin selepas log masuk

Nota: UIID ini akan dijana secara automatik apabila mysql mula-mula dimulakan dan ditulis ke auto.cnf . Dan server_uuid dan GTID berkait rapat.

GTID: Pengecam transaksi global

Apabila menggunakan fungsi ini, setiap penyerahan transaksi akan menjana pengecam unik dalam binlog, yang terdiri daripada UUID dan ID transaksi. ID transaksi yang diserahkan buat kali pertama ialah 1, dan ia meningkat secara berurutan selepas itu.

Apabila GTID didayakan, hamba tidak perlu mencari log binlog dan titik POS apabila melakukan replikasi segerak. Terus

Tulisan GTID:

change master to
master_HOST=192.168.2.100,
master_PORT=2206,
master_USER=repluser,
master_PASSWORD='123456',
master_AUTO_POSITION=1;
另外传统的写法:
CHANGE MASTER TO
MASTER_HOST='master2.mycompany.com',
MASTER_USER='replication',
MASTER_PASSWORD='bigs3cret',
MASTER_PORT=3306,
MASTER_LOG_FILE='master2-bin.001',
MASTER_LOG_POS=4,
MASTER_CONNECT_RETRY=10;
Salin selepas log masuk

Jika GTID telah didayakan sebelum ini, anda tidak boleh lagi menggunakan kaedah induk perubahan tradisional dan ralat akan dilaporkan, seperti berikut:

RALAT 1776 (HY000): Parameter MASTER_LOG_FILE, MASTER_LOG_POS, RELAY_LOG_FILE dan RELAY_LOG_POS tidak boleh ditetapkan apabila MASTER_AUTO_POSITION aktif.

Apakah perbezaan antara 5.6 dan 5.5 dalam mysql

🎜>🎜>GTID 1. Hantar transaksi pada tuan dan tuliskannya ke binlog

2. Binlog dihantar kepada hamba menerima dan menulis log geganti Hamba membaca GTID dan menetapkan nilai gtid_next . Contohnya:

set @@SESSION.GTID_NEXT='B0869D03-D332223-35454:3';

Kemudian beritahu hamba bahawa transaksi seterusnya mesti menggunakan GTID dan tulis ke binlognya sendiri .

3. Hamba menyemak dan mengesahkan bahawa gtid tidak digunakan, maka ia mula melaksanakan transaksi dan menulisnya ke binlognya sendiri.

4. Memandangkan nilai gtid_next tidak kosong, hamba tidak akan cuba menjana gtid baharu, tetapi memperoleh GTID melalui penyegerakan tuan-hamba.

Selain itu, jika anda ingin menggunakan kaedah GTID untuk penyegerakan master-slave, anda juga mesti menambah konfigurasi berikut pada my.cnf:

Kemudian eksport mysqldump -uroot - proot pada master -q --single-transaction -R -E --triggers -B hellodb > /root/hello.sql
[mysqld]
log-bin=mysql-bin
binlog_format = mixed
log_slave_updates = ON
gtid-mode = ON
enforce_gtid_consistency = ON
Salin selepas log masuk

Import mysql pada slave -uroot -proot < sql

Konfigurasikan induk tukar untuk menunjuk pada hamba (6 baris kod berikut):

Penghadan GTID:
change master to
master_HOST=192.168.2.100,
master_PORT=3306,
master_USER=repluser,
master_PASSWORD=&#39;123456&#39;,
master_AUTO_POSITION=1;
Salin selepas log masuk

1 pada urus niaga dan tidak Menyokong MyISAM, yang boleh menyebabkan berbilang GTID diberikan setiap satu dalam transaksi yang sama.

2. Cipta jadual...penyataan pilih tidak disokong. Oleh kerana penyata ini akan dibahagikan kepada dua transaksi: buat jadual dan sisipkan, dan jika kedua-dua transaksi ini diberikan GTID yang sama, sisipan akan diabaikan oleh pangkalan data siap sedia.

3. Penciptaan dan pemadaman jadual sementara tidak disokong

Demonstrasi replikasi berbilang benang:

Laksanakan arahan berikut pada hamba:

Jika terdapat sejumlah besar operasi sisipan pada master pada masa ini, anda boleh melaksanakan > replikasi benang berfungsi.
> stop slave;
> set global  slave_parallel_workers = 4;
> start slave;
> show full processlist;可以看到有4个线程 Waitingfor an eventfromCoordinator
Salin selepas log masuk

Penjelasan: slave_parallel_workers boleh mencapai replikasi serentak berbilang benang pada hamba. Walau bagaimanapun, ia hanya boleh menyokong replikasi serentak antara berbilang pangkalan data di bawah satu contoh, dan tidak boleh benar-benar mencapai replikasi serentak berbilang jadual. Oleh itu, apabila terdapat beban serentak yang besar, hamba masih tidak dapat mengejar tuan dalam masa, dan perlu mencari cara untuk mengoptimumkan (contohnya: cuba bahagikan jadual dalam satu perpustakaan kepada berbilang perpustakaan mengikut logik perniagaan untuk menyimpan mereka, supaya semasa operasi tulis, Hamba boleh memulakan replikasi berbilang benang, mengurangkan kelewatan penyegerakan)

Selain itu, disyorkan untuk mengubah suai my.cnf dan menambah 2 baris (secara lalai, fail_info ini ialah fail dan tidak ditulis ke pangkalan data)

Ini sahaja tidak mencukupi, kedua-dua jadual ini adalah MyISAM Jika tidak selamat, anda perlu menukarnya
relay_log_info_repository = table
master_info_repository = table
Salin selepas log masuk

Dengan cara ini, anda boleh mengelakkan kerosakan meja dan anda boleh membaikinya sendiri selepas kerosakan.
> alter table slave_master_info engine innodb;
> alter table slave_relay_log_info engine innodb;
> alter table slave_worker_info engine innodb;
Salin selepas log masuk

Replikasi induk-hamba dalam mod GTID, penyelesaian kepada ralat yang tidak boleh dilangkau semasa penyegerakan:

Jika anda melihat ralat penyegerakan pada hamba "Kunci XXX nod hamba tidak tidak wujud"

Kita boleh cuba menggunakan kaedah lama pada 5.5

Apabila melaksanakan, anda akan mendapati ralat, gesaan adalah seperti berikut:
> stop slave;
> set global sql_slave_skip_counter=1
> start slave;
Salin selepas log masuk

Apakah perbezaan antara 5.6 dan 5.5 dalam mysql

可以看出运行在GTID模式下,不支持sql_slave_skip_counter这种方式跳过的。

那么可以如下方法来跳过:

> show slave status\G查看如下2行的信息:

Retrieved_Gtid_Set: ca910cf0-3aec-11e6-9319-b888e3dcfeb8:1-2
Executed_Gtid_Set: ca910cf0-3aec-11e6-9319-b888e3dcfeb8:1
Salin selepas log masuk

第一行表示收到的事务,第二行表示已经执行完的事务。也就是说执行到Retrieved_Gtid_Set时候发生错误了。

因此,我们直接单单跳过这个事务即可。

> stop slave;
> set GTID_NEXT=&#39;ca910cf0-3aec-11e6-9319-b888e3dcfeb8:2&#39;;     就是这种写法,不要加什么1-2这些玩意
> begin;
> commit;
> set GTID_NEXT="AUTOMATIC";      #把gtid_next设置回来
> start slave;
> show slave status\G   验证下是否IO/SQL都是YES状态。
Salin selepas log masuk

GTID模式转换为传统模式的方法及注意点:

要转换成传统模式,需要在my.cnf里面注释掉下面2行:

# gtid-mode=ON
# enforce_gtid_consistency = ON
Salin selepas log masuk

然后重启MySQL。

登进mysql,执行类似如下命令:

> stop slave;
> CHANGE MASTER TO
MASTER_HOST=&#39;master2.mycompany.com&#39;,
MASTER_USER=&#39;replication&#39;,
MASTER_PASSWORD=&#39;bigs3cret&#39;,
MASTER_PORT=3306,
MASTER_LOG_FILE=&#39;master2-bin.001&#39;,
MASTER_LOG_POS=4,
MASTER_CONNECT_RETRY=10;
Salin selepas log masuk

结果报错了,如下图:

Apakah perbezaan antara 5.6 dan 5.5 dalam mysql

解决方法:

> change master to MASTER_AUTO_POSITION=0;     # 关闭这个参数,这个参数是GTID复制才用到的。
> CHANGE MASTER TO
MASTER_HOST = &#39;192.168.2.11&#39;,
MASTER_USER=&#39;repluser&#39;,
MASTER_PASSWORD=&#39;123456&#39;,
MASTER_PORT=3306,
MASTER_LOG_FILE=&#39;mysql-bin.000012&#39;,
MASTER_LOG_POS=500,
MASTER_CONNECT_RETRY=10;
> start slave;
> show slave status\G 验证下是否IO/SQL都是YES状态。
Salin selepas log masuk

推荐学习:mysql视频教程

Atas ialah kandungan terperinci Apakah perbezaan antara 5.6 dan 5.5 dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Hubungan antara pengguna dan pangkalan data MySQL Hubungan antara pengguna dan pangkalan data MySQL Apr 08, 2025 pm 07:15 PM

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: Kemudahan Pengurusan Data untuk Pemula MySQL: Kemudahan Pengurusan Data untuk Pemula Apr 09, 2025 am 12:07 AM

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.

Bolehkah saya mengambil kata laluan pangkalan data di Navicat? Bolehkah saya mengambil kata laluan pangkalan data di Navicat? Apr 08, 2025 pm 09:51 PM

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.

Pengoptimuman pertanyaan di MySQL adalah penting untuk meningkatkan prestasi pangkalan data, terutama ketika berurusan dengan set data yang besar Pengoptimuman pertanyaan di MySQL adalah penting untuk meningkatkan prestasi pangkalan data, terutama ketika berurusan dengan set data yang besar Apr 08, 2025 pm 07:12 PM

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

Cara Membuat Premium Navicat Cara Membuat Premium Navicat Apr 09, 2025 am 07:09 AM

Buat pangkalan data menggunakan Navicat Premium: Sambungkan ke pelayan pangkalan data dan masukkan parameter sambungan. Klik kanan pada pelayan dan pilih Buat Pangkalan Data. Masukkan nama pangkalan data baru dan set aksara yang ditentukan dan pengumpulan. Sambung ke pangkalan data baru dan buat jadual dalam penyemak imbas objek. Klik kanan di atas meja dan pilih masukkan data untuk memasukkan data.

Bagaimana untuk melihat kata laluan pangkalan data di Navicat untuk MariaDB? Bagaimana untuk melihat kata laluan pangkalan data di Navicat untuk MariaDB? Apr 08, 2025 pm 09:18 PM

Navicat untuk MariaDB tidak dapat melihat kata laluan pangkalan data secara langsung kerana kata laluan disimpan dalam bentuk yang disulitkan. Untuk memastikan keselamatan pangkalan data, terdapat tiga cara untuk menetapkan semula kata laluan anda: Tetapkan semula kata laluan anda melalui Navicat dan tetapkan kata laluan yang kompleks. Lihat fail konfigurasi (tidak disyorkan, risiko tinggi). Gunakan alat baris perintah sistem (tidak disyorkan, anda perlu mahir dalam alat baris arahan).

Cara Melihat MySQL Cara Melihat MySQL Apr 08, 2025 pm 07:21 PM

Lihat pangkalan data MySQL dengan arahan berikut: Sambungkan ke pelayan: MySQL -U Pengguna Nama -P Kata Laluan Run Show pangkalan data; Perintah untuk mendapatkan semua pangkalan data yang sedia ada Pilih pangkalan data: Gunakan nama pangkalan data; Lihat Jadual: Tunjukkan Jadual; Lihat Struktur Jadual: Huraikan nama jadual; Lihat data: pilih * dari nama jadual;

Cara menyalin jadual di mysql Cara menyalin jadual di mysql Apr 08, 2025 pm 07:24 PM

Menyalin jadual di MySQL memerlukan membuat jadual baru, memasukkan data, menetapkan kunci asing, menyalin indeks, pencetus, prosedur tersimpan, dan fungsi. Langkah -langkah khusus termasuk: mewujudkan jadual baru dengan struktur yang sama. Masukkan data dari jadual asal ke dalam jadual baru. Tetapkan kekangan utama asing yang sama (jika jadual asal mempunyai satu). Buat indeks yang sama. Buat pencetus yang sama (jika jadual asal mempunyai satu). Buat prosedur atau fungsi yang disimpan yang sama (jika jadual asal digunakan).

See all articles