Rumah pangkalan data tutorial mysql MySQL 5.5主从关于‘复制过滤’的深入探究

MySQL 5.5主从关于‘复制过滤’的深入探究

Jun 07, 2016 pm 02:54 PM
replikasi tuan-hamba mysql

关于MySQL主从复制的过滤,例如通过binlog-ignore-db、replicate-do-db、replicate-wild-do-table等。如果不好好研究过这些过滤选

关于MySQL主从复制的过滤,例如通过binlog-ignore-db、replicate-do-db、replicate-wild-do-table等。如果不好好研究过这些过滤选项就用的话,是有可能造成主从数据不一致问题的。本文将参考MySQL-5.5官方文档并结合实验,和各位一起探讨下这里的各个设置。

    以下内容参考5.5官方文档

binlog_format(STATEMENT,ROW,MIXED,5.5默认为STATEMENT)的设置会导致一些复制执行上的差异。

当使用MIXED格式时,binlog绝大多数情况也是以STATEMENT格式记录,只有在下列情况下才会切换到ROW格式:

1、 当时用UUID()函数时

2、 当一个或多个拥有AUTO_INCREMENT列的表被更新同时有‘trigger’或者‘stored function’被调用时

  # MIXED对于‘trigger’和‘stored function’总是使用statement-based

3、 执行INSERT DELAYED时

4、 当视图里的某一部分需要row-based复制(例如UUID())时,创建该视图的语句被改为row-based

5、 使用用户自定义函数(UDF)时

6、 当某语句被判定为row-based,并且执行它的session需要用到临时表,则session下的所有子语句都将以ROW格式记录

7、 当使用USER(),CURRENT_USER()或者 CURRENT_USER

8、 当语句引用了一个或多个system variables。

9、 当使用LOAD_FILE()

所有DDL语句都是基于statements,不论binlog_format如何设置

复制双方binlog_format需一致,否则复制无法进行

Binlog格式影响到以下‘复制过滤’配置的行为

--binlog-do-db
--binlog-ignore-db=ljk
该选项的行为取决于binlog格式
Statement-based logging:当use ljk后(即当前库为ljk时),所有的语句不被记录进binlog
当登陆mysql后不use/或者use ljk之外的库,执行update ljk.table 依然会记录近binlog并复制
Row-based format:告诉服务器不记录任何ljk库下表的更改,无论当前在哪个库(即无论有无use语句,是否use  ljk)

--replicate-do-db = ljk
该选项的行为取决于binlog格式
Statement-based replication:只有主库在use ljk 之后执行的语句才会被从库复制
无use语句或者use其他库后执行的语句均不被复制
Row-based replication:只有ljk库的更改会被复制(无论use哪个库或者是否use)
无论是否use或use哪个库,ljk库之外的变更都不会被复制
--replicate-ignore-db


总结:Statement-based跟当前use的库有关,Row-based更直接,只关心指定的库‘做或不做’。

还有以下两种参数可‘过滤复制’
以下两种选项只对表的更改有影响,库的复制不受这些参数影响(但是类似ljk.%这种,也会对库起作用)

--replicate-do-table

这两个选项在我的实验里跟描述不太一致,详细见下文实验结果

--replicate-ignore-table

--replicate-wild-do-table = ljk.%
无论use ljk或use 其他库或不use,对ljk库的更新都能被复制,同时,其他库任何情况下均不会复制(包括建库建表操作)
--replicate-wild-ignore-table

根据以上,综合建议:对复制的过滤,采用replicate-wild-do-table/ replicate-wild-ignore-table,比较严格和明确

下面是实验过程(MySQL-5.5.39)
一、 主库添加“binlog-ignore-db = mysql”,从库不加过滤

库操作:
    1. 主库不use,执行建库语句
    mysql> create database kai;
    从库复制
    2. 主库use  mysql,再执行
    mysql> create database kai;
    从库复制

在kai数据库执行建表操作:
    1. 不use
    create table kai.li (id int,name char(15));
    从库复制
    2. use mysql;
    create table kai.li (id int,name char(15));
    从库不复制
    3. use 其他库;
    create table kai.li (id int,name char(15));
    从库复制

对表内容修改:
    1. 主库不use,向li表增加数据
    insert into kai.li values('1','ljk');
    从库复制
    2. 主库 use mysql,向li表增加数据
    从库不复制
    3. 主库use 其他库,更新li库(即跨库更新)
    mysql> use picture;
    mysql> insert into kai.li values('2','lhy');
    从库复制

对mysql库进行更改:
    1. 不 use
    mysql> create table mysql.ljk (id int,name varchar(15));
    从库复制
    2. Use 其他库
    mysql> drop table mysql.ljk;
    从库复制

二、从库添加“replicate-ignore-db = mysql”,主库不加过滤

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
3 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)

Sandaran data dan pemulihan kegagalan: Perbincangan tentang kepentingan replikasi tuan-hamba MySQL dalam mod kluster Sandaran data dan pemulihan kegagalan: Perbincangan tentang kepentingan replikasi tuan-hamba MySQL dalam mod kluster Sep 08, 2023 am 09:03 AM

Sandaran data dan pemulihan kegagalan: Perbincangan tentang kepentingan replikasi tuan-hamba MySQL dalam mod kluster Pengenalan: Dalam beberapa tahun kebelakangan ini, dengan pertumbuhan berterusan skala dan kerumitan data, sandaran pangkalan data dan pemulihan kegagalan telah menjadi sangat penting. Dalam sistem teragih, replikasi tuan-hamba MySQL digunakan secara meluas dalam mod kluster untuk menyediakan ketersediaan tinggi dan toleransi kesalahan. Artikel ini akan meneroka kepentingan replikasi tuan-hamba MySQL dalam mod kluster dan memberikan beberapa contoh kod. 1. Prinsip asas dan kelebihan MySQL master-slave replication MySQL master-slave replication adalah umum

Mengoptimumkan prestasi pangkalan data: Cara terbaik untuk menggunakan replikasi tuan-hamba MySQL dalam teknologi kluster Mengoptimumkan prestasi pangkalan data: Cara terbaik untuk menggunakan replikasi tuan-hamba MySQL dalam teknologi kluster Sep 10, 2023 am 08:24 AM

Mengoptimumkan prestasi pangkalan data: Cara terbaik untuk menggunakan replikasi tuan-hamba MySQL dalam teknologi kluster Abstrak: Dengan perkembangan pesat Internet, isu prestasi pangkalan data telah menjadi tumpuan pelbagai perusahaan dan organisasi. Teknologi replikasi tuan-hamba MySQL memainkan peranan penting dalam menyelesaikan kesesakan prestasi pangkalan data. Artikel ini akan memperkenalkan konsep dan prinsip replikasi tuan-hamba MySQL, serta kaedah penggunaan terbaik dalam teknologi kluster, untuk membantu pembaca mengoptimumkan prestasi pangkalan data. 1. Pengenalan Apabila jumlah data terus meningkat, masalah prestasi pangkalan data telah menjadi semakin ketara. Bagaimana untuk mengoptimumkan nombor

Hadapi keselarasan yang tinggi dengan mudah: Analisis kelebihan prestasi replikasi hamba tuan MySQL sebagai teknologi kluster Hadapi keselarasan yang tinggi dengan mudah: Analisis kelebihan prestasi replikasi hamba tuan MySQL sebagai teknologi kluster Sep 10, 2023 pm 03:48 PM

Mengatasi keselarasan yang tinggi dengan mudah: Analisis kelebihan prestasi replikasi tuan-hamba MySQL sebagai teknologi kelompok Dengan perkembangan pesat Internet, lawatan pengguna ke laman web dan aplikasi telah menunjukkan trend pertumbuhan yang meletup. Dalam situasi konkurensi tinggi ini, cara memastikan kestabilan dan prestasi sistem telah menjadi tugas penting bagi setiap pembangun dan pentadbir sistem. Dalam pangkalan data, teknologi replikasi tuan-hamba MySQL digunakan secara meluas dan telah menjadi salah satu penyelesaian yang berkesan untuk menangani konkurensi yang tinggi. Artikel ini akan meneroka kelebihan prestasi replikasi tuan-hamba MySQL sebagai teknologi kluster. pertama

Menyahsulit replikasi hamba tuan MySQL: mendedahkan mekanisme pelaksanaan utamanya dalam mod kluster Menyahsulit replikasi hamba tuan MySQL: mendedahkan mekanisme pelaksanaan utamanya dalam mod kluster Sep 10, 2023 am 09:28 AM

Menyahsulit replikasi tuan-hamba MySQL: Mendedahkan mekanisme pelaksanaan utamanya dalam mod kluster Pengenalan: Dalam sistem pangkalan data moden, ketersediaan tinggi dan fleksibiliti data adalah sangat penting. Sebagai sistem pengurusan pangkalan data hubungan sumber terbuka, MySQL mempunyai pelbagai aplikasi dalam memenuhi keperluan pengguna. Replikasi tuan-hamba MySQL adalah bahagian yang sangat kritikal dalam seni bina pangkalan data MySQL dan digunakan untuk mencapai sandaran data dan ketersediaan tinggi. Artikel ini akan menumpukan pada mendedahkan mekanisme pelaksanaan utama replikasi tuan-hamba MySQL, terutamanya dalam mod kluster.

Adakah replikasi hamba tuan MySQL adalah teknologi kluster atau teknologi pengimbangan beban? Analisis dan perbezaan Adakah replikasi hamba tuan MySQL adalah teknologi kluster atau teknologi pengimbangan beban? Analisis dan perbezaan Sep 10, 2023 am 08:40 AM

Adakah replikasi hamba tuan MySQL adalah teknologi kluster atau teknologi pengimbangan beban? Ringkasan analisis dan perbezaan: MySQL master-slave replication ialah teknologi replikasi pangkalan data yang digunakan untuk menyegerakkan data pangkalan data pada berbilang pelayan. Artikel ini akan menganalisis dan membezakan perbezaan antara replikasi hamba induk MySQL, teknologi kluster dan teknologi pengimbangan beban dari segi prinsip teknikal, senario aplikasi dan ciri fungsi. Pengenalan: Dalam aplikasi Internet moden, ketersediaan tinggi dan skalabiliti pangkalan data adalah penting. Replikasi tuan-hamba MySQL adalah salah satu penyelesaian biasa, bagaimanapun,

Penjelasan terperinci tentang fungsi dan kelebihan replikasi tuan-hamba MySQL dalam teknologi kluster Penjelasan terperinci tentang fungsi dan kelebihan replikasi tuan-hamba MySQL dalam teknologi kluster Sep 09, 2023 am 09:03 AM

Penjelasan terperinci tentang fungsi dan kelebihan replikasi tuan-hamba MySQL dalam teknologi kluster Pengenalan MySQL ialah sistem pengurusan pangkalan data hubungan yang berkuasa yang digunakan secara meluas dalam pelbagai laman web dan aplikasi berskala besar. Apabila jumlah data dan permintaan capaian meningkat, tekanan pada pelayan MySQL tunggal secara beransur-ansur meningkat Untuk meningkatkan prestasi dan kebolehpercayaan pangkalan data, orang ramai mula menggunakan teknologi kluster, antaranya replikasi tuan-hamba MySQL adalah salah satu daripadanya. teknologi yang biasa digunakan. Prinsip replikasi tuan-hamba MySQL Replikasi tuan-hamba MySQL merujuk kepada

Mendedahkan potensi teknologi kluster dalam replikasi hamba induk MySQL: Penilaian perbandingan penyelesaian sumber terbuka dan penyelesaian komersial Mendedahkan potensi teknologi kluster dalam replikasi hamba induk MySQL: Penilaian perbandingan penyelesaian sumber terbuka dan penyelesaian komersial Sep 08, 2023 pm 07:16 PM

Memanfaatkan potensi teknologi kluster replikasi induk-hamba MySQL: Penilaian perbandingan penyelesaian sumber terbuka dan penyelesaian komersial Dengan pembangunan berterusan perniagaan Internet dan peningkatan jumlah data, permintaan untuk penyelesaian kluster pangkalan data menjadi semakin kukuh. Teknologi replikasi induk-hamba MySQL hanya memenuhi permintaan ini Ia boleh memproses operasi baca dan tulis pangkalan data secara berasingan pada berbilang nod, meningkatkan prestasi baca dan ketersediaan pangkalan data. Artikel ini akan meneroka potensi teknologi kluster dalam replikasi tuan-hamba MySQL, dan menjalankan penilaian perbandingan penyelesaian sumber terbuka dan penyelesaian komersial.

Fahami ciri kluster dan senario aplikasi bukan pengimbangan beban replikasi tuan-hamba MySQL Fahami ciri kluster dan senario aplikasi bukan pengimbangan beban replikasi tuan-hamba MySQL Sep 11, 2023 am 11:04 AM

Dengan perkembangan pesat Internet, jumlah data dalam sistem aplikasi semakin meningkat, dan keperluan untuk prestasi dan kebolehpercayaan pangkalan data juga semakin tinggi dan lebih tinggi. Sebagai salah satu pangkalan data hubungan sumber terbuka yang paling biasa digunakan, MySQL mempunyai prestasi tinggi dan kestabilan dan digunakan secara meluas dalam pelbagai aplikasi peringkat perusahaan. Sebagai penyelesaian replikasi data yang biasa digunakan, replikasi tuan-hamba MySQL boleh meningkatkan kebolehpercayaan data dan prestasi membaca dan menulis, dan digunakan secara meluas dalam aplikasi data berskala besar. Ciri kluster replikasi tuan-hamba MySQL merujuk kepada penyegerakan data pangkalan data induk melalui mekanisme replikasi.

See all articles