<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>replica &#8211; SMsoft &#8211; informatica e dintorni</title>
	<atom:link href="https://blog.smsoft.it/tag/replica/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.smsoft.it</link>
	<description>consigli settimanali su MacOS, GNU/Linux ed Open Source</description>
	<lastBuildDate>Wed, 23 Mar 2022 08:41:53 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=82528</generator>
	<item>
		<title>MySQL replica master-master: rimettere in sincro i due DB</title>
		<link>https://blog.smsoft.it/2019/02/12/mysql-replica-master-master-rimettere-in-sincro-i-due-db/</link>
					<comments>https://blog.smsoft.it/2019/02/12/mysql-replica-master-master-rimettere-in-sincro-i-due-db/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 12 Feb 2019 08:30:51 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[replica]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=4247</guid>

					<description><![CDATA[La replica master-master di MySQL è un sistema ormai collaudato e funziona abbastanza bene. Ci possono eprò essere eventi *catastrofici* che invalidano uno dei due DB e sorge la necessità di rimettere in piedi la replica a partire dai dati presenti in uno dei DB. Vediamo come procedere con una decina di step. Chiamiamo GS ... <a title="MySQL replica master-master: rimettere in sincro i due DB" class="read-more" href="https://blog.smsoft.it/2019/02/12/mysql-replica-master-master-rimettere-in-sincro-i-due-db/" aria-label="Per saperne di più su MySQL replica master-master: rimettere in sincro i due DB">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">La replica master-master di MySQL è un sistema ormai collaudato e funziona abbastanza bene. Ci possono eprò essere eventi *catastrofici* che invalidano uno dei due DB e sorge la necessità di rimettere in piedi la replica a partire dai dati presenti in uno dei DB.</p>



<p class="wp-block-paragraph">Vediamo come procedere con una decina di step. Chiamiamo <strong>GS</strong> il server il server con i dati corretti e <strong>BS</strong> il server con i dati &#8220;rovinati&#8221;. Ipotizziamo che il DB da rimettere in replica si chiami <strong>CMS</strong>.</p>



<ol class="wp-block-list"><li>Innanzitutto assicuriamoci che <strong>BS</strong> non stia ricevendo ancora query di INSERT/UPDATE/DELETE, ETC.</li><li><strong>BS</strong>: dalla console mysql, digitare <code>STOP SLAVE;</code> in modo da fermare la replica;</li><li><strong>GS</strong>: eseguiamo tre passi dalla console mysql: <ol><li>digitiamo <code>STOP SLAVE;</code> per fermare la replica anche su <strong>GS;</strong></li><li>digitiamo <code>FLUSH TABLES WITH READ LOCK;</code> per bloccare gli aggiornamenti sul DB;</li><li>digitiamo <code>SHOW MASTER STATUS;</code> e prendere nota dei valori dei campi File (es mysql-bin.<strong>xxxxxx</strong>) e Position (es <strong>yyyyyy</strong>); </li></ol></li><li><strong>GS</strong>: <strong><em>senza chiudere la console mysql</em>, </strong>aprire una nuova shell e fare un dump del DB: <code>mysqldump -K --single-transaction --routines</code> <code>cms | gzip -9 >cms.sql.gz</code></li><li><strong>GS</strong>: dalla console mysql, sblocchiamo il DB digitando <code>UNLOCK TABLES;</code></li><li><strong>BS</strong>: importiamo il file di dump: <code>zcat cms.sql.gz | mysql cms</code></li><li><strong>BS</strong>: dalla console mysql risincronizziamo la replica digitando <code>CHANGE MASTER TO master_log_file='mysql-bin.xxxxxx', master_log_pos=yyyyyy;</code> (dove xxxxxx e yy devono essere i valori recuperati al punto <strong>3.C</strong>;</li><li><strong>BS</strong>: dalla console mysql riavviamo la replica digitando <code>START SLAVE;</code> e verifichiamo che funzioni con un <code>SHOW SLAVE STATUS;</code></li><li><strong>BS</strong>: recuperiamo i dettagli anche del master su questo nodo con <code>SHOW MASTER STATUS;</code>e prendiamo nota dei campi File (es mysql-bin.<strong>zzzzzz</strong>) e Position (es <strong>wwwwww</strong>);</li><li><strong>GS</strong>: risincronizziamo la replica anche sul primo nodo, digitando dalla console mysql <code>CHANGE MASTER TO master_log_file='mysql-bin.zzzzzz', master_log_pos=wwwwww;</code></li><li>GS: riavviamo la replica anche sul primo nodo, digitando dalla console mysql <code>START SLAVE;</code></li></ol>



<p class="wp-block-paragraph">enjoy!</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2019/02/12/mysql-replica-master-master-rimettere-in-sincro-i-due-db/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Replica MySQL e relay file non trovato</title>
		<link>https://blog.smsoft.it/2016/02/09/replica-mysql-e-relay-file-non-trovato/</link>
					<comments>https://blog.smsoft.it/2016/02/09/replica-mysql-e-relay-file-non-trovato/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 09 Feb 2016 09:30:05 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[relay log]]></category>
		<category><![CDATA[replica]]></category>
		<category><![CDATA[slave]]></category>
		<guid isPermaLink="false">http://blog.smsoft.it/?p=3342</guid>

					<description><![CDATA[Può capitare che lo slave MySQL di una replica non sia attivo e che provado con: [crayon-6a41a2f091e7e470776980/] venga fuori un errore del genere: [crayon-6a41a2f091e98330650703/] Questo indica che il file di relay non esiste, mentre il server tenta di lavorarlo. In questo caso bisogna fermare lo slave dalla cli di MySQL: [crayon-6a41a2f091e9b055734656/] poi verificare qual è ... <a title="Replica MySQL e relay file non trovato" class="read-more" href="https://blog.smsoft.it/2016/02/09/replica-mysql-e-relay-file-non-trovato/" aria-label="Per saperne di più su Replica MySQL e relay file non trovato">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[<p>Può capitare che lo slave MySQL di una replica non sia attivo e che provado con:</p><pre class="urvanov-syntax-highlighter-plain-tag">slave start;</pre><p>venga fuori un errore del genere:</p><pre class="urvanov-syntax-highlighter-plain-tag">ERROR 29 (HY000): File '/var/log/mysql/relay.004398' not found (Errcode: 2)</pre><p></p>
<p>Questo indica che il file di relay non esiste, mentre il server tenta di lavorarlo.</p>
<p>In questo caso bisogna fermare lo slave dalla cli di MySQL:</p><pre class="urvanov-syntax-highlighter-plain-tag">mysql> stop slave;</pre><p>poi verificare qual è il primo file di relay presente in <strong>/var/log/mysql/</strong> (ipotizziamo sia relay.004400),<br />
modificare il file <strong>/var/log/mysql/relay-log.index</strong> cancellando le prime righe relative a file non esistenti (nel nostro esempio fino a relay.004399 compreso),<br />
infine dalla cli di MySQL:</p><pre class="urvanov-syntax-highlighter-plain-tag">mysql> reset slave;
mysql> start slave;</pre><p></p>
<p>enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2016/02/09/replica-mysql-e-relay-file-non-trovato/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
