Heim Datenbank MySQL-Tutorial MySQL Replication常用SQL、应用、文件、流程、模式_MySQL

MySQL Replication常用SQL、应用、文件、流程、模式_MySQL

Jun 01, 2016 pm 01:30 PM
二进制

bitsCN.com

MySQL Replication常用SQL、应用、文件、流程、模式

 

无聊时写的,算科普吧,毕竟内置的Replication是MySQL的骄傲

 

㈠ SQL语句篇

 

   管理主库部分

 

    show master logs

    列出主库二进制日志

    

    show master status

    列出当前主库二进制日志状态

    

    show slave hosts

    列出连接到主库的备库信息

    

    show binlog events in 'log_name'

    列出二进制日志中的事件

    

    reset master

    置空二进制日志索引文件,并创建一个新的二进制日志

    

    purge master logs to 'log_name'

    purge master logs before 'date'

    删除主库的二进制日志

    建议删除流程:

    ① 目标日志确认如下:

       在主库:show master logs 

       在备库:show slave status[每个备库都执行,抓取延迟最大的备库]

    ② 备份

    ③ purge 

 

 

   管理备库部分

 

 

    change master to master_**

    告诉备库如何连接到主库并重放其二进制日志

    参数较多较杂,请自行参阅手册

    

    reset slave

    删除master.info、relay-log.info以及所有中继日志,并新建一个中继日志

    

    show slave status

    查看当前备库状态

    输出较多,下面捡几个重要的谈谈

    Slave_IO_State、Slave_IO_Running、Slave_SQL_Running:表示IO线程和SQL线程健康状况

    Master_Log_File:IO线程当前正在读取的主库的二进制日志的名称

    Read_Master_Log_Pos:当前主库的二进制日志中,IO线程已经读取的位置

    Relay_Log_File:SQL线程当前正在读取和执行的中继日志的名称

    Relay_Log_Pos:当前中继日志中,SQL线程已经读取和执行的位置

    Exec_Master_Log_Pos:同步到备库的二进制日志的位置

    

    能借助该输出来计算复制延迟:

    

    Read_Master_Log_Pos-Exec_Master_Log_Pos:表示SQL线程延迟,进而表示了主备是否同步

    顺道提一点,二进制日志坐标:Position,减去Read_Master_Log_Pos:表示IO线程延迟

    

    start slave

    启动备库SQL线程/IO线程

    

    stop slave 

    停止备库SQL线程/IO线程 

 

 

㈡ 应用篇

 

 

   数据分布

     →给地理上互相隔离的IDC分发数据

   热备份

     →复制是备份的技术补充,但不能代替备份

   读扩展

     →负载均衡

   报表分析

     →在不影响主库业务的情况下,月底的审计和报表分析可放到备库上做

   升级测试

     →用最新版本的mysql做备库

   故障转移

     →提升备库为主库,最小化宕机时间

     

 

 

㈢ 文件篇

 

 

   master.info

   记录备库连接主库所需要的信息,如:主机、用户名、密码、当前二进制日志坐标等

   同时,他也能告诉主库:"我需要某个日志的某个位置之后的内容,请发给我"

   

   relay-log.info

   记录当前备库正在复制的二进制日志和中继日志的坐标

   

   binlog index 

   记录主库磁盘上二进制日志文件

   

   relay log 

   存储IO线程从主库复制的二进制日志事件

   

   relay log index 

   作用同binlog index 

 

㈣ 流程篇

 

 

   ⑴ 主库记录二进制日志:按事务提交的顺序记录事件

   ⑵ 备库将主库的二进制日志复制到本地中继日志

   

      启动IO线程

      发起TCP/IP连接

      在主库启动binlog dump线程

      读取主库二进制日志

      IO线程记录到relay log和master.info

     

   ⑶ 备库读取并重放二进制日志事件

 

㈤ 模式篇

 

 

   复制模式可分:STATEMENT和ROW,通过binlog_format控制

   没有哪种模式能胜任任何场景,谓之:存在即是合理

   MySQL能在这两种模式动态却换(binlog_format='MIXED')

   缺省以STATEMENT运行,当无法正确复制时则以ROW运行

   

   下面列出他们各自的优缺点

   

   ROW模式

   

   优点

   

   几乎没有基于行的复制无法处理的场景

   更少的锁竞争,因为对强串行化的需求降低

   更低的CPU花费,因为没有必要在构造SQL上下文信息

   更好的保证了复制到备库的数据的品质

   更快的定位和解决数据不一致,如当找不到修改的行时,ROW模式会使整个复制过程停止而STATEMENT不会

   

   缺点

   

   无法确定执行了什么SQL

   黑盒子,很难定位出故障的地方

   占用更多的磁盘空间

   更多的网络带宽开销

   

   

   STATEMENT模式

   

   优点

   

   基于行的复制整个过程基本上就是执行SQL

   这很容易定位问题

   

   缺点

   

   无法正确复制,特别是当涉及到存储过程、触发器、函数等

   这会失去复制的意义

 

bitsCN.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So berechnen Sie die binäre Arithmetik So berechnen Sie die binäre Arithmetik Jan 19, 2024 pm 04:38 PM

Binäre Arithmetik ist eine Operationsmethode, die auf Binärzahlen basiert. Zu ihren Grundoperationen gehören Addition, Subtraktion, Multiplikation und Division. Die binäre Arithmetik umfasst neben Grundoperationen auch logische Operationen, Verschiebungsoperationen und andere Operationen. Zu den logischen Operationen gehören UND, ODER, NICHT und andere Operationen, und Verschiebungsoperationen umfassen Linksverschiebungs- und Rechtsverschiebungsoperationen. Für diese Operationen gelten entsprechende Regeln und Operandenanforderungen.

Was sind die beiden wichtigsten Verbesserungen von EDVAC? Was sind die beiden wichtigsten Verbesserungen von EDVAC? Mar 02, 2023 pm 02:58 PM

EDVAC weist zwei wesentliche Verbesserungen auf: Zum einen die Verwendung von Binärfunktionen und zum anderen die Vervollständigung des gespeicherten Programms, das automatisch von einer Programmanweisung zur nächsten fortschreiten kann und dessen Vorgänge automatisch durch Anweisungen abgeschlossen werden können. „Anweisungen“ umfassen Daten und Programme, die in Form von Codes in das Speichergerät der Maschine eingegeben werden. Das heißt, dasselbe Speichergerät, das Daten speichert, wird zum Speichern von Anweisungen zum Ausführen von Operationen verwendet -sogenannte gespeicherte Programme.

Wie konvertiert man mit der C-Sprache binär in hexadezimal? Wie konvertiert man mit der C-Sprache binär in hexadezimal? Sep 01, 2023 pm 06:57 PM

Binärzahlen werden durch Einsen und Nullen dargestellt. Das 16-Bit-Hexadezimalzahlensystem ist {0,1,2,3…..9,A(10),B(11),…F(15)}, um von der binären Darstellung in eine hexadezimale Darstellung umzuwandeln. Stellt das Bit dar Die Zeichenfolgen-ID ist in 4-Bit-Blöcke gruppiert, sogenannte Nibbles, beginnend mit der niedrigstwertigen Seite. Jeder Block wird durch die entsprechende Hexadezimalzahl ersetzt. Sehen wir uns ein Beispiel an, um ein klares Verständnis der Darstellung hexadezimaler und binärer Zahlen zu erhalten. 001111100101101100011101 3 E 5 B&nb

Wie lese ich Binärdateien in Golang? Wie lese ich Binärdateien in Golang? Mar 21, 2024 am 08:27 AM

Wie lese ich Binärdateien in Golang? Binärdateien sind in binärer Form gespeicherte Dateien, die Daten enthalten, die ein Computer erkennen und verarbeiten kann. In Golang können wir einige Methoden verwenden, um Binärdateien zu lesen und sie in das gewünschte Datenformat zu analysieren. Im Folgenden wird das Lesen von Binärdateien in Golang vorgestellt und spezifische Codebeispiele gegeben. Zuerst müssen wir eine Binärdatei mit der Open-Funktion aus dem Betriebssystempaket öffnen, die ein Dateiobjekt zurückgibt. Dann können wir machen

Was ist der Hauptgrund für die Verwendung von Binärdateien in Computern? Was ist der Hauptgrund für die Verwendung von Binärdateien in Computern? Apr 04, 2019 pm 02:25 PM

Die Hauptgründe, warum Computer Binärsysteme verwenden: 1. Logikschaltungen bestehen normalerweise nur aus zwei Zuständen: Der Schalter ist ein- und ausgeschaltet, und diese beiden Zustände können durch „1“ und „0“ dargestellt werden Im Binärsystem werden nur zwei Zahlen, 0 und 1, verwendet, was bei der Übertragung und Verarbeitung weniger fehleranfällig ist und somit eine hohe Zuverlässigkeit des Computers gewährleistet.

Lernen Sie ganz einfach, in der Go-Sprache Hexadezimalzahlen in Binärzahlen umzuwandeln Lernen Sie ganz einfach, in der Go-Sprache Hexadezimalzahlen in Binärzahlen umzuwandeln Mar 15, 2024 pm 04:45 PM

Titel: Einfaches Erlernen der Konvertierung von Hexadezimalzahlen in Binärzahlen in der Go-Sprache. Bei der Computerprogrammierung sind häufig Konvertierungsvorgänge zwischen verschiedenen Basiszahlen erforderlich. Unter ihnen ist die Konvertierung zwischen Hexadezimal und Binär relativ häufig. In der Go-Sprache können wir durch einige einfache Codebeispiele eine Hexadezimal-Binär-Konvertierung erreichen. Schauen wir uns zunächst die Darstellungsmethoden von Hexadezimal und Binär an. Hexadezimal ist eine Methode zur Darstellung von Zahlen, bei der 0-9 und A-F zur Darstellung von 1 verwendet werden

Wie man negative Zahlen binär ausdrückt Wie man negative Zahlen binär ausdrückt Nov 23, 2023 pm 04:11 PM

Negative Zahlen werden in Computern durch das Zweierkomplement dargestellt, d. h. negative Zahlen werden durch das Zweierkomplement positiver Zahlen dargestellt.

Kann Golang mit Binärdateien umgehen? Kann Golang mit Binärdateien umgehen? Mar 20, 2024 pm 04:36 PM

Kann Golang mit Binärdateien umgehen? In der Go-Sprache ist die Verarbeitung von Binärdateien sehr verbreitet und bequem. Durch die Verwendung integrierter Pakete und Methoden können wir Binärdateien einfach lesen, schreiben und bearbeiten. In diesem Artikel wird der Umgang mit Binärdateien in Go erläutert und spezifische Codebeispiele bereitgestellt. Binärdateien lesen Um eine Binärdatei zu lesen, müssen wir zunächst die Datei öffnen und ein entsprechendes Dateiobjekt erstellen. Wir können dann die Read-Methode verwenden, um die Daten aus der Datei zu lesen und sie in Bytes zu speichern

See all articles