Rumah pangkalan data tutorial mysql MySQL复制(一) --- 二进制日志干什么的_MySQL

MySQL复制(一) --- 二进制日志干什么的_MySQL

Jun 01, 2016 pm 01:44 PM
binari pengguna rancangan

bitsCN.com

 

与小站点相比,大型站点的数据库管理员,需要提前做好以下的事情:

 

提供灾难发生时核心业务数据的恢复计划。理论上这个过程至少需要执行一次。

通过采集大量用户数据并监控网站各节点的负载,提供优化计划

当用户数量急剧增长时的快速横向扩展计划

对于所有这些事情,提前计划并准备好必要时的快速应对是很重要的。

 

为了保证站点可响应和可用性,需要做两件事:系统的数据备份和冗余。备份可以将节点恢复到它崩溃之前的状态,备份根据需求有几种比如及时恢复(PITR:point-in-time-recovery),在线备份等等;而冗余则保证即使在一个或更多节点停止服务的情况下,站点仍能继续运行,备份一般通过硬件副本来实现,让几个实例并行运行,并通过复制在几个机器上保存相同数据的多个可用副本。复制的主要应用场景:1)针对高读写比的,scale out;2)添加冗余保证高可用性,比如双主配置(dual-master setup)。

 

 

 

二进制日志(binlog)

复制过程需要二进制日志。二进制日志的目的是记录数据库中表的更改,然后用于复制和PITR,另外少数审计情况下也会用到。

 

传统意义上说,MySQL复制记录了产生变化的SQL语句,称为基于语句的复制(statement-based replication)。基于语句的复制的缺点是无法保证所有语句都正确复制。所以在5.1版本中,MySQL还提供了基于行的复制(row-based replication)。

 

查看二进制日志:

 

# 强制把缓存的东西刷到LOGS中,并产生一个Rotate事件写入binlog中FLUSH LOGS;# 正常使用很久的DB不建议使用这个命令,需要加参数,指定具体的binlog文件名 【IN 'xxxx'】SHOW BINLOG EVENTS/G

二进制日志中事件所包含的字段:

 

Event_type: 比如Format_desc, Query, RotateServer_id   : 创建事件的服务器idLog_name  : 存储事件的文件名,一个事件只能存储在一个文件中Pos            : 事件在文件中的开始位置,及事件的第一个字节End_log_pos:事件在文件中的结束位置,也就是下一个事件的开始位置Info           : 具体事件的信息,Query的时候就是SQL语句

二进制日志的结构和内容:

 

二进制日志不是一个的单独的文件,它包括一组存储实际内容的二进制日志文件和一个二进制日志索引文件。每个二进制日志文件都以format description event开始,以rotate event结束。rotate event包含下一个二进制日志文件的名称,以告知二进制日志继续写入哪个文件。因此FLUSH LOGS的时候会新建一个新binlog文件。

 

获取当前正在写入的是哪一个二进制日志文件:

 

SHOW MASTER STATUS/G

RESET MASTER命令删除了所有的二进制日志文件并清空了二进制日志索引文件。RESET SLAVE命令删除了Slave复制所用的所有文件,重新开始。

 

CHANGE MASTER TO命令用于改变slave连接master的一些参数,其中就包括slave读取master二进制日志文件的参数。比如使用MASTER_LOG_FILE和MASTER_LOG_POS来指定master开始发送事件的binlog位置。

 

如何建立新Slave

1:配置新的Slave2:备份Master(或者备份已经复制了Master的Slave)3:接下该备份相应的binlog位置4:在新Slave上恢复备份5:配置Slave从这个binlog位置开始复制

区别就在于第二步,一种是直接从Master进行备份,一种是通过现有Slave备份,下面分别介绍两种。

 

1:克隆Master:

 

# 刷新所有的表并锁定数据库,防止在检查binlog位置之前数据库发生改变FLUSH TABLES WITH READ LOCK;# 获取当前的binlog文件和posSHOW MASTER STATUS/G# 备份mastermysqldump --all-databases --host=master-1 >backup.sql# 解锁UNLOCK TABLES;# 在slave上恢复备份mysql --host=slave-1

其实mysqldump命令提供了master_data选项,自动把MASTER_LOG_FILE和MASTER_LOG_POS信息dump到backup.sql中

 

另外:FLUSH TABLES WITH READ LOCK对于InnoDB是不安全的,因为虽然会锁表,不会产生新事务,但是后台仍然有一些活动在继续进行。

 

所以安全的创建InnoDB数据表的备份可以使用下面的方法。

 

1:关闭服务器,然后复制文件。如果数据库很大 ,最好采取这种方法,因为这时使用mysqldump进行数据恢复会很慢2:执行FLUSH TABLES WITH READ LOCK之后,使用mysqldump3:执行FLUSH TABLES WITH READ LOCK之后,使用快照的方法,比如LVM(Linux),ZFS(Solaris)快照

 

2:克隆Slave:

 

# 防止出现不一致的备份映像,备份Slave之前需要先停止replicationSTOP SLAVE;# 确定从哪里开始复制,注意Relay_Master_Log_File和Exec_Master_Log_PosSHOW SLAVE STATUS/G# 配置新的slave,指向masterCHANGE MASTER TOMASTER_HOST = 'master-1',MASTER_PORT = 3306,MASTER_USER = 'slave-1',MASTER_PASSWORD = 'xxxx',MASTER_LOG_FILE = 'master-bin.000042',MASTER_LOG_POS = 546632;# 启动新的slaveSTART SLAVE

摘自 foxracle

bitsCN.com

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

Video Face Swap

Video Face Swap

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

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)

Bagaimana untuk menggunakan akaun Xiaohongshu untuk mencari pengguna? Bolehkah saya mencari nombor telefon bimbit saya? Bagaimana untuk menggunakan akaun Xiaohongshu untuk mencari pengguna? Bolehkah saya mencari nombor telefon bimbit saya? Mar 22, 2024 am 08:40 AM

Dengan perkembangan pesat media sosial, Xiaohongshu telah menjadi salah satu platform sosial yang paling popular. Pengguna boleh membuat akaun Xiaohongshu untuk menunjukkan identiti peribadi mereka dan berkomunikasi serta berinteraksi dengan pengguna lain. Jika anda perlu mencari nombor Xiaohongshu pengguna, anda boleh mengikuti langkah mudah ini. 1. Bagaimana untuk menggunakan akaun Xiaohongshu untuk mencari pengguna? 1. Buka APP Xiaohongshu, klik butang "Temui" di penjuru kanan sebelah bawah, dan kemudian pilih pilihan "Nota". 2. Dalam senarai nota, cari nota yang disiarkan oleh pengguna yang ingin anda cari. Klik untuk memasuki halaman butiran nota. 3. Pada halaman butiran nota, klik butang "Ikuti" di bawah avatar pengguna untuk memasuki halaman utama peribadi pengguna. 4. Di penjuru kanan sebelah atas halaman utama peribadi pengguna, klik butang tiga titik dan pilih "Maklumat Peribadi"

Pengguna dan kumpulan tempatan tiada pada Windows 11: Cara menambahnya Pengguna dan kumpulan tempatan tiada pada Windows 11: Cara menambahnya Sep 22, 2023 am 08:41 AM

Utiliti Pengguna dan Kumpulan Tempatan terbina dalam Pengurusan Komputer dan boleh diakses dari konsol atau secara bebas. Walau bagaimanapun, sesetengah pengguna mendapati bahawa pengguna dan kumpulan tempatan tiada dalam Windows 11. Bagi sesetengah orang yang mempunyai akses kepadanya, mesej tersebut menunjukkan bahawa snap-in ini mungkin tidak berfungsi dengan versi Windows 10 ini. Untuk mengurus akaun pengguna untuk komputer ini, gunakan alat Akaun Pengguna dalam Panel Kawalan. Isu ini telah dilaporkan dalam lelaran Windows 10 sebelumnya dan biasanya disebabkan oleh isu atau kesilapan di pihak pengguna. Mengapakah pengguna dan kumpulan tempatan tiada dalam Windows 11? Anda menjalankan edisi Windows Home, pengguna dan kumpulan tempatan tersedia pada edisi Profesional dan ke atas. Aktiviti

Log masuk ke Ubuntu sebagai pengguna super Log masuk ke Ubuntu sebagai pengguna super Mar 20, 2024 am 10:55 AM

Dalam sistem Ubuntu, pengguna root biasanya dilumpuhkan. Untuk mengaktifkan pengguna root, anda boleh menggunakan arahan passwd untuk menetapkan kata laluan dan kemudian menggunakan arahan su untuk log masuk sebagai root. Pengguna akar ialah pengguna dengan hak pentadbiran sistem tanpa had. Dia mempunyai kebenaran untuk mengakses dan mengubah suai fail, pengurusan pengguna, pemasangan dan pengalihan keluar perisian, dan perubahan konfigurasi sistem. Terdapat perbezaan yang jelas antara pengguna akar dan pengguna biasa Pengguna akar mempunyai kuasa tertinggi dan hak kawalan yang lebih luas dalam sistem. Pengguna akar boleh melaksanakan perintah sistem yang penting dan mengedit fail sistem, yang tidak boleh dilakukan oleh pengguna biasa. Dalam panduan ini, saya akan meneroka pengguna akar Ubuntu, cara log masuk sebagai akar, dan bagaimana ia berbeza daripada pengguna biasa. Notis

Terokai Panduan Windows 11: Cara Mengakses Folder Pengguna pada Pemacu Keras Lama Terokai Panduan Windows 11: Cara Mengakses Folder Pengguna pada Pemacu Keras Lama Sep 27, 2023 am 10:17 AM

Folder tertentu tidak selalu boleh diakses kerana kebenaran, dan dalam panduan hari ini kami akan menunjukkan kepada anda cara untuk mengakses folder pengguna pada pemacu keras lama anda pada Windows 11. Prosesnya mudah tetapi boleh mengambil sedikit masa, kadangkala berjam-jam, bergantung pada saiz pemacu, jadi lebih bersabar dan ikut arahan dalam panduan ini dengan teliti. Mengapa saya tidak boleh mengakses folder pengguna saya pada pemacu keras lama saya? Folder pengguna dimiliki oleh komputer lain, jadi anda tidak boleh mengubah suainya. Anda tidak mempunyai sebarang kebenaran pada folder selain pemilikan. Bagaimana untuk membuka fail pengguna pada cakera keras lama? 1. Ambil pemilikan folder dan tukar kebenaran Cari direktori pengguna lama, klik kanan padanya dan pilih Properties. Navigasi ke "An

Tutorial: Bagaimana untuk memadam akaun pengguna biasa dalam sistem Ubuntu? Tutorial: Bagaimana untuk memadam akaun pengguna biasa dalam sistem Ubuntu? Jan 02, 2024 pm 12:34 PM

Ramai pengguna telah ditambahkan ke sistem Ubuntu Saya ingin memadamkan pengguna yang tidak lagi digunakan. Mari kita lihat tutorial terperinci di bawah. 1. Buka baris arahan terminal dan gunakan perintah userdel untuk memadam pengguna yang ditentukan. Pastikan anda menambah perintah kebenaran sudo, seperti yang ditunjukkan dalam rajah di bawah 2. Apabila memadam, pastikan anda berada dalam direktori pentadbir tidak mempunyai kebenaran ini, seperti yang ditunjukkan dalam rajah di bawah 3. Selepas arahan padam dilaksanakan, bagaimana untuk menilai sama ada ia telah benar-benar dipadamkan? Seterusnya kami menggunakan arahan cat untuk membuka fail passwd, seperti yang ditunjukkan dalam rajah di bawah 4. Kami melihat bahawa maklumat pengguna yang dipadam tidak lagi dalam fail passwd, yang membuktikan bahawa pengguna telah dipadam, seperti yang ditunjukkan dalam rajah di bawah 5. Kemudian kita masukkan fail rumah

Apakah sudo dan mengapa ia penting? Apakah sudo dan mengapa ia penting? Feb 21, 2024 pm 07:01 PM

sudo (eksekusi superuser) ialah arahan utama dalam sistem Linux dan Unix yang membenarkan pengguna biasa menjalankan perintah tertentu dengan keistimewaan root. Fungsi sudo dicerminkan terutamanya dalam aspek berikut: Menyediakan kawalan kebenaran: sudo mencapai kawalan ketat ke atas sumber sistem dan operasi sensitif dengan membenarkan pengguna mendapatkan kebenaran superuser buat sementara waktu. Pengguna biasa hanya boleh mendapatkan keistimewaan sementara melalui sudo apabila diperlukan, dan tidak perlu log masuk sebagai pengguna super sepanjang masa. Keselamatan yang dipertingkatkan: Dengan menggunakan sudo, anda boleh mengelak daripada menggunakan akaun akar semasa operasi rutin. Menggunakan akaun akar untuk semua operasi boleh menyebabkan kerosakan sistem yang tidak dijangka, kerana sebarang operasi yang salah atau cuai akan mempunyai kebenaran penuh. dan

Windows 11 KB5031455 gagal dipasang, menyebabkan isu lain untuk sesetengah pengguna Windows 11 KB5031455 gagal dipasang, menyebabkan isu lain untuk sesetengah pengguna Nov 01, 2023 am 08:17 AM

Microsoft mula melancarkan KB2 kepada umum sebagai kemas kini pilihan untuk Windows 503145511H22 atau lebih baru. Ini ialah kemas kini pertama untuk mendayakan ciri Windows 11 Moment 4 secara lalai, termasuk Windows Copilot di kawasan yang disokong, pratonton sokongan untuk item dalam menu Mula, nyahkumpulan bar tugas dan banyak lagi. Selain itu, ia membetulkan beberapa pepijat Windows 11, termasuk potensi masalah prestasi yang menyebabkan kebocoran memori. Tetapi ironinya, kemas kini pilihan untuk September 2023 akan menjadi bencana bagi pengguna yang cuba memasang kemas kini, malah bagi mereka yang telah memasangnya. Ramai pengguna tidak akan memasang Wi ini

Win11 versi baharu lukisan: alih keluar latar belakang dengan satu klik untuk merealisasikan fungsi potongan Win11 versi baharu lukisan: alih keluar latar belakang dengan satu klik untuk merealisasikan fungsi potongan Sep 15, 2023 pm 10:53 PM

Microsoft menjemput ahli projek WindowsInsider dalam saluran Canary dan Dev untuk menguji dan mengalami aplikasi Paint baharu Nombor versi terkini ialah 11.2306.30.0. Ciri baharu yang paling penting dalam kemas kini versi ini ialah fungsi potong satu klik. Pengguna hanya perlu mengklik sekali untuk menghapuskan latar belakang secara automatik dan menyerlahkan badan utama gambar, menjadikannya lebih mudah untuk pengguna melakukan operasi seterusnya. Seluruh langkah adalah sangat mudah. ​​Pengguna mengimport gambar dalam aplikasi susun atur baharu, dan kemudian mengklik butang "movebackground" pada bar alat untuk memadamkan latar belakang dalam gambar latar belakang.

See all articles