<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=MySQL_Replikacja_na_systemie_Windows</id>
	<title>MySQL Replikacja na systemie Windows - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=MySQL_Replikacja_na_systemie_Windows"/>
	<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=MySQL_Replikacja_na_systemie_Windows&amp;action=history"/>
	<updated>2026-05-13T23:41:20Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://training-course-material.com/index.php?title=MySQL_Replikacja_na_systemie_Windows&amp;diff=23973&amp;oldid=prev</id>
		<title>Cesar Chew at 18:17, 24 November 2014</title>
		<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=MySQL_Replikacja_na_systemie_Windows&amp;diff=23973&amp;oldid=prev"/>
		<updated>2014-11-24T18:17:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Cat|MySQL|050}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;slideshow style=&amp;quot;nobleprog&amp;quot; headingmark=&amp;quot;⌘&amp;quot; incmark=&amp;quot;…&amp;quot; scaled=&amp;quot;true&amp;quot; font=&amp;quot;Trebuchet MS&amp;quot; &amp;gt;&lt;br /&gt;
;title: MySQL Replikacja na systemie Windows&lt;br /&gt;
;author: Leszek Albrzykowski (NobleProg Ltd)&lt;br /&gt;
&amp;lt;/slideshow&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguracja instancji Master ⌘===&lt;br /&gt;
==== Wstęp ⌘====&lt;br /&gt;
MySQL dyrektywy konfiguracyjne przechowuje w plikach o rozszerzeniu &amp;#039;&amp;#039;*.cnf&amp;#039;&amp;#039; lub &amp;#039;&amp;#039;*.ini&amp;#039;&amp;#039;. Pliki te znajdują się zazwyczaj w folderach instalacji bazy danych. Na potrzeby nieniejszego opisu przyjmujemy, że ścieżką instalacji MySQL jest: &amp;#039;&amp;#039;C:\Program Files\MySQL\MySQL Server 5.5&amp;#039;&amp;#039;. W zależności od potrzeby, replikacji możemy dokonać na istniejących bazach (folder &amp;#039;&amp;#039;data&amp;#039;&amp;#039;) lub nowo tworzonych. Przyklad opisuje konfigurację nowej instancji na podstawie istniejących już baz.&lt;br /&gt;
==== Kopiowanie folderów z bazami danych ⌘====&lt;br /&gt;
Foldery i nazewnictwo w tym akapicie są przykładowe i mogą być dowolnie modyfikowane!&lt;br /&gt;
Tworzymy nowy folder dla replikowanej bazy: &amp;#039;&amp;#039;C:\Replication\data\&amp;#039;&amp;#039; a następnie do niego kopiujemy zawartość z folderu &amp;#039;&amp;#039;data&amp;#039;&amp;#039; instalacji MySQL.&lt;br /&gt;
==== Dyrektywy pliku *.cnf (lub *.ini) ⌘====&lt;br /&gt;
W folderze &amp;#039;&amp;#039;Replication&amp;#039;&amp;#039;, tworzymy plik konfiguracyjny &amp;#039;&amp;#039;my.cnf&amp;#039;&amp;#039; z poniższymi dyrektywami:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[mysqld]&lt;br /&gt;
#Ścieżka do folderu instalacji MySQL&lt;br /&gt;
basedir = &amp;quot;C:\Program Files\MySQL\MySQL Server 5.5&amp;quot;&lt;br /&gt;
#Ścieżka do folderu z plikami baz danych&lt;br /&gt;
datadir = &amp;quot;C:\Replication\data&amp;quot;&lt;br /&gt;
#Port MySQL&lt;br /&gt;
port = 3307&lt;br /&gt;
&lt;br /&gt;
#Nazwa pliku loga binarnego, który zostanie utworzony&lt;br /&gt;
log-bin = &amp;quot;MASTER-BIN&amp;quot;&lt;br /&gt;
#Format loga, więcej na ten temat w materiałach szkoleniowych&lt;br /&gt;
binlog_format = mixed&lt;br /&gt;
#Maksymalna wielkość pliku loga binarnego&lt;br /&gt;
max_binlog_size = 50M&lt;br /&gt;
#ID instancji&lt;br /&gt;
server-id = 1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Jeśli instancje Slave i Master działają na jednym hoście, porty mogą służyć do ich rozróżnienia – Slave może działć na porcie 3308!&lt;br /&gt;
==== Uruchomienie instancji ⌘====&lt;br /&gt;
W zależności od potrzeb, jako proces w konsoli lub jako serwis uruchamiamy program &amp;#039;&amp;#039;mysqld.exe&amp;#039;&amp;#039;, znajdujący się w folderze  &amp;#039;&amp;#039;C:\Program Files\MySQL\MySQL Server 5.5\bin&amp;#039;&amp;#039; z opcją &amp;#039;&amp;#039;defaults-file&amp;#039;&amp;#039; dzięki czemu jesteśmy w stanie uruchomić instancję z konfiguracją określoną samemu w poprzednim paragrafie: &amp;#039;&amp;#039;mysqld --defaults-file=C:\Replication\my.cnf&amp;#039;&amp;#039;&lt;br /&gt;
==== Tworzenie użytkownika MySQL na potrzeby replikacji ⌘====&lt;br /&gt;
Po połączeniu się do działającej instancji Master, należy wykonać kwerendę;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
 CREATE USER &amp;#039;replication_user&amp;#039;@&amp;#039;%&amp;#039; IDENTIFIED BY &amp;#039;123456&amp;#039;;&lt;br /&gt;
 GRANT REPLICATION SLAVE ON *.* TO &amp;#039;replication_user&amp;#039;@&amp;#039;%&amp;#039; IDENTIFIED BY &amp;#039;123456&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== Testowanie i odczyt informacji o instancji Master ⌘====&lt;br /&gt;
W celu przetestowania instancji oraz uzyskaniu informacji, które potrzebne będą w konfiguracji instancji Slave, wykonujemy kwerendę:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
 SHOW MASTER STATUS;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Której efekt może być przykładowo taki jak poniżej:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
mysql&amp;gt; SHOW MASTER STATUS;&lt;br /&gt;
+-------------------+----------+--------------+------------------+&lt;br /&gt;
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB |&lt;br /&gt;
+-------------------+----------+--------------+------------------+&lt;br /&gt;
| MASTER-BIN.000002 |      107 |              |                  |&lt;br /&gt;
+-------------------+----------+--------------+------------------+&lt;br /&gt;
1 row in set (0.00 sec)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
W przypadku wystąpienia jakiegokolwiek błędu, należy zapoznać się z plikiem loga błędów który może znajdować się w ścieżce z plikami bazy danych np: &amp;#039;&amp;#039;C:\Replication\data\&amp;lt;Nazwa_pliku&amp;gt;.err&amp;#039;&amp;#039;!&lt;br /&gt;
=== Konfiguracja instancji Slave ⌘===&lt;br /&gt;
==== Dyrektywy pliku *.cnf (lub *.ini) ⌘====&lt;br /&gt;
Podobnie jak w przypadku instancji Master, musimy utworzyć folder dla replikowanych baz danych oraz utworzyć własny plik konfiguracyjny (analogicznie &amp;#039;&amp;#039;my-slave.cnf&amp;#039;&amp;#039;):&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[mysqld]&lt;br /&gt;
datadir = &amp;quot;C:\Replication\data-slave&amp;quot;&lt;br /&gt;
#START - Dla wersji starszych niż 5.5&lt;br /&gt;
master-host = localhost&lt;br /&gt;
master-user =  replication_user&lt;br /&gt;
master-password = 123456&lt;br /&gt;
#STOP&lt;br /&gt;
port = 3308&lt;br /&gt;
server-id=2&lt;br /&gt;
Przykład pokazuje konfigurację obydwu instancji na jednym hoście. Z tego też powodu instancję rozróżnione są portem na jakim zostają uruchomione!&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== Uruchomienie instancji ⌘====&lt;br /&gt;
Instancje Slave uruchamiamy analogicznie do instancji Master: &amp;#039;&amp;#039;mysqld --defaults-file=C:\Replication\my-slave.cnf&amp;#039;&amp;#039; &lt;br /&gt;
==== Konfiguracja użytkownika ⌘====&lt;br /&gt;
Należy skonfigurować użytkownika, który będzie łączył się do instancji Master. W tym celu wykonujemy kwerendę:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CHANGE MASTER TO MASTER_HOST=&amp;#039;localhost&amp;#039;,&lt;br /&gt;
MASTER_PORT = 3308,&lt;br /&gt;
MASTER_USER=&amp;#039;replication_user&amp;#039;,&lt;br /&gt;
MASTER_PASSWORD=&amp;#039;123456&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Uruchomienie lub zatrzymanie instancji master odbywa się za pomoca następujących kwerend:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;SLAVE START;&amp;lt;/syntaxhighlight&amp;gt; lub &amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;SLAVE STOP;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Na koniec, należy podać informację o logu binarnym. Informacje te otrzymaliśmy wcześniej po wykonaniu kwerendy: &amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;SHOW MASTER STATUS;&amp;lt;/syntaxhighlight&amp;gt; na instancji Master. Na podstawie tych informacji konfigurujemy instancję Slave podając nazwę loga binarnego i pozycji od jakiej chcemy rozpocząć replikację:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CHANGE MASTER TO&lt;br /&gt;
MASTER_LOG_FILE=&amp;#039;MASTER-BIN.000002&amp;#039;,&lt;br /&gt;
MASTER_LOG_POS=107;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== Testowanie i odczyt informacji o instancji Slave ⌘====&lt;br /&gt;
W celu przetestowania instancji oraz uzyskaniu informacji, które potrzebne będą w konfiguracji instancji Slave, wykonujemy kwerendę:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;SHOW SLAVE STATUS;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Testowanie ⌘===&lt;br /&gt;
Aby przetestować działanie skonfigurowanej replikacji wystarczy dodać do dowolnej tabeli na instancji Master rekord i sprawdzić czy analogicznie pojawił się na instancji Slave.&lt;/div&gt;</summary>
		<author><name>Cesar Chew</name></author>
	</entry>
</feed>