How To Configure MySQL Master-Slave Replication on Ubuntu 18.04
Talaan ng mga Nilalaman:
- Mga kinakailangan
- I-install ang MySQL
- I-configure ang Master Server
- I-configure ang Server ng Alipin
- Subukan ang Pag-configure
- Konklusyon
Ang MySQL pagtitiklop ay isang proseso na nagbibigay-daan sa data mula sa isang server ng database na awtomatikong makopya sa isa o higit pang mga server.
Sinusuportahan ng MySQL ang isang bilang ng mga topologies ng pagtitiklop na may topology ng Master / Slave na isa sa mga kilalang topologies kung saan ang isang database server ay kumikilos bilang master, habang ang isa o higit pang mga server ay kumikilos bilang mga alipin. Bilang default, ang pagtitiklop ay hindi magkakatulad kung saan ang master ay nagpapadala ng mga kaganapan na naglalarawan ng mga pagbabago sa database sa binary log nito at hinihiling ng mga alipin ang mga kaganapan kapag handa na sila.
Ang tutorial na ito ay sumasaklaw sa isang pangunahing halimbawa ng MySQL Master / Slave replication sa isang master at isang alipin server sa Ubuntu 18.04. Ang parehong mga hakbang na nalalapat para sa MariaDB.
Ang ganitong uri ng topology ng pagtitiklop ay pinaka-akma para sa pag-aalis ng basahin na mga replika para sa pagbabasa ng scaling, live na mga database ng backup para sa pagbawi ng sakuna at para sa mga trabaho sa analytics.
Mga kinakailangan
Ipinapalagay ng halimbawang ito na mayroon kang dalawang server na tumatakbo sa Ubuntu 18.04, na maaaring makipag-usap sa bawat isa sa isang pribadong network. Kung ang iyong hosting provider ay hindi nag-aalok ng mga pribadong IP address, maaari mong gamitin ang mga pampublikong IP address at i-configure ang iyong firewall upang payagan ang trapiko sa port 3306 lamang mula sa mga mapagkakatiwalaang mapagkukunan.
Ang mga server sa halimbawang ito ay mayroong mga sumusunod na IP:
Master IP: 192.168.121.190 Slave IP: 192.168.121.236
I-install ang MySQL
Ang default Ang Ubuntu 18.04 repositori ay may kasamang MySQL bersyon 5.7. Upang maiwasan ang anumang mga isyu, pinakamahusay na mag-install ng parehong bersyon ng MySQL sa parehong mga server.
I-install ang MySQL sa Master server:
sudo apt-get update
sudo apt-get install mysql-server
I-install ang MySQL sa server ng Slave gamit ang parehong mga utos:
sudo apt-get update
sudo apt-get install mysql-server
I-configure ang Master Server
Ang unang hakbang ay upang mai-configure ang master MySQL server. Gagawa kami ng mga sumusunod na pagbabago:
- Itakda ang MySQL server upang makinig sa pribadong IP.Set ng isang natatanging ID ng server..Enable ang binary logging
Upang gawin ito buksan ang MySQL configuration file at uncomment o itakda ang sumusunod:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
master: /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 192.168.121.190 server-id = 1 log_bin = /var/log/mysql/mysql-bin.log
Kapag tapos na, i-restart ang serbisyo ng MySQL para sa mga pagbabago na magkakabisa:
sudo systemctl restart mysql
Ang susunod na hakbang ay upang lumikha ng isang bagong gumagamit ng pagtitiklop. Mag-log in sa MySQL server bilang root user sa pamamagitan ng pag-type:
sudo mysql
Mula sa loob ng prompt ng MySQL, patakbuhin ang sumusunod na mga query sa SQL na lilikha ng gumagamit ng
replica
at bibigyan ang pribilehiyo ng
REPLICATION SLAVE
sa gumagamit:
CREATE USER 'replica'@'192.168.121.236' IDENTIFIED BY 'replica_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.121.236';
Siguraduhin na binago mo ang IP sa iyong alipin IP address. Maaari mong pangalanan ang gumagamit ayon sa gusto mo.
Habang nasa loob pa rin ng MySQL prompt, isagawa ang sumusunod na utos na mag-print ng binary filename at posisyon.
SHOW MASTER STATUS\G
*************************** 1. row *************************** File: mysql-bin.000001 Position: 629 Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set: 1 row in set (0.00 sec)
Pansinin ang pangalan ng file, 'mysql-bin.000001' at Posisyon '629'. Kakailanganin mo ang mga halagang ito kapag na-configure ang server ng alipin. Ang mga halagang ito ay marahil ay naiiba sa iyong server.
I-configure ang Server ng Alipin
Tulad ng para sa master server sa itaas, gagawin namin ang mga sumusunod na pagbabago sa server ng alipin:
- Itakda ang MySQL server upang makinig sa pribadong IPSet ng isang natatanging server IDEnable ang binary logging
Buksan ang file ng pagsasaayos ng MySQL at i-edit ang mga sumusunod na linya:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
alipin: /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 192.168.121.236 server-id = 2 log_bin = /var/log/mysql/mysql-bin.log
I-restart ang serbisyo ng MySQL:
sudo systemctl restart mysql
Ang susunod na hakbang ay upang mai-configure ang mga parameter na gagamitin ng server ng alipin upang kumonekta sa master server. Mag-login sa shell ng MySQL:
sudo mysql
Una, itigil ang mga alipin ng alipin:
STOP SLAVE;
Patakbuhin ang sumusunod na query na magse-set up ng alipin upang magtiklop sa master:
CHANGE MASTER TO
MASTER_HOST='192.168.121.190',
CHANGE MASTER TO
MASTER_HOST='192.168.121.190',
MASTER_USER='replica',
MASTER_PASSWORD='replica_password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=629;
Tiyaking gumagamit ka ng wastong IP address, user name, at password. Ang pangalan at posisyon ng log file ay dapat na kapareho ng mga halagang nakuha mo mula sa master server.
Kapag tapos na, simulan ang mga thread ng alipin.
Subukan ang Pag-configure
Sa puntong ito, dapat kang magkaroon ng isang gumaganang setup ng Master / Slave replication.
Upang mapatunayan na gumagana ang lahat tulad ng inaasahan, gagawa kami ng isang bagong database sa master server:
sudo mysql
CREATE DATABASE replicatest;
Mag-login sa alipin na MySQL shell:
sudo mysql
Patakbuhin ang sumusunod na utos upang ilista ang lahat ng mga database:
SHOW DATABASES;
Mapapansin mo na ang database na iyong nilikha sa master server ay nai-replicate sa alipin:
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | replicatest | | sys | +--------------------+ 5 rows in set (0.00 sec)
Konklusyon
Sa tutorial na ito, ipinakita namin na lumikha ka ng isang replication ng MySQL Master / Slave.
Huwag mag-atubiling mag-iwan ng komento kung mayroon kang mga katanungan.
ubuntu mysql mariadbPaminsan-minsan ang mga update ay napakahalaga, ngunit ang pinaka-tila tulad ng tinkering. Ang PS3's Disyembre 2, 2008 v2.53 update ay nagdagdag ng full-screen na suporta para sa Adobe Flash. Ang pag-update ng Nobyembre 5, 2008 v.2.52 ay nagdala ng tatlong mga pag-aayos sa maliit na glitch. Ang Hulyo 29, 2008 v2.42-update ang enigmatically "pagbutihin [d] ang kalidad ng pag-playback ng ilang PlayStation 3 at PlayStation format software." Ang pag-update ng Hulyo 8, 2008 v2.41 ay naayos
Huwag ako mali, sa tingin ko talagang kahanga-hanga na nais ng Sony na maglinis ng ilang frequency. Ngunit hindi dapat isang kumpanya na may mga mapagkukunan ng Sony at isang predictable hardware development platform malinaw na ang windshield maagang ng panahon?
"Ang bawat tao'y nagsasalita tungkol sa kung paano mga consumer hindi alam kung ano ang nangyayari, at kung alam nila kung ano ang nangyayari, sila ay magiging horrified, "sabi ni Rubin. "Ang dahilan kung bakit hindi nila alam ang tungkol dito ay hindi sila nag-aalinlangan upang malaman ang tungkol dito, at ang dahilan kung bakit hindi sila nag-aalinlangan upang malaman ang tungkol dito ay dahil wala nang masama ang nangyari."
[Karagdagang pagbabasa: Ang pinakamahusay TV streaming services]
Ang Windows Store kumpara sa mundo: Paano ang mga handog ng Microsoft ay talagang naka-stack up? isang lakas ng ecosystem. Namin hukay ang Windows Store laban sa mga iOS at Android counterparts sa ilang mga sikat na kategorya upang makita kung paano ang apps nito stack up sa manipis na kapakinabangan.
Tuwing makipag-usap lumiliko sa medyo mababa ang bilang ng mga apps na magagamit sa Store ng Windows, ang mga commenters walang paltos dalhin ang artikulo sa gawain. "Dami ay hindi mahalaga bilang kalidad!" type nila, madalas na paghuhugas sa isang LAHAT CAPS EXPLETIVE o tatlo. "Sino ang nagnanais ng 100,000 umut-ot apps?"







