{"id":31489,"date":"2025-10-10T13:41:06","date_gmt":"2025-10-10T10:41:06","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=31489"},"modified":"2025-10-10T13:41:06","modified_gmt":"2025-10-10T10:41:06","slug":"ubuntu-18-04-sunucularda-mysql-ile-galera-kumesi-yapilandirmasi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-sunucularda-mysql-ile-galera-kumesi-yapilandirmasi\/","title":{"rendered":"Ubuntu 18.04 Sunucularda MySQL ile Galera K\u00fcmesi Yap\u0131land\u0131rmas\u0131"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu 18.04 Sunucularda MySQL ile Galera K\u00fcmesi Yap\u0131land\u0131rmas\u0131<\/h2>\n<p>Galera K\u00fcmesi, MySQL, MariaDB veya Percona Server for MySQL i\u00e7in senkron, \u00e7oklu ana (multi-master) bir replikasyon \u00e7\u00f6z\u00fcm\u00fcd\u00fcr. Y\u00fcksek eri\u015filebilirlik, s\u0131f\u0131r veri kayb\u0131 ve \u00f6l\u00e7eklenebilirlik sunarak kritik i\u015f y\u00fckleri i\u00e7in ideal bir veritaban\u0131 altyap\u0131s\u0131 sa\u011flar. Geleneksel MySQL replikasyon y\u00f6ntemlerinin aksine, Galera K\u00fcmesi, t\u00fcm d\u00fc\u011f\u00fcmlerin her zaman tutarl\u0131 bir durumda olmas\u0131n\u0131 garanti eder. Bu makalede, Ubuntu 18.04 i\u015fletim sistemine sahip sunucular \u00fczerinde Percona XtraDB Cluster kullanarak bir Galera k\u00fcmesinin nas\u0131l kurulaca\u011f\u0131n\u0131 ve yap\u0131land\u0131r\u0131laca\u011f\u0131n\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz.<\/p>\n<h3>Y\u00fcksek Eri\u015filebilirlik ve \u00d6l\u00e7eklenebilirlik \u0130htiyac\u0131<\/h3>\n<p>Modern uygulamalar, kesintisiz hizmet ve s\u00fcrekli artan veri hacmi ile ba\u015fa \u00e7\u0131kmak zorundad\u0131r. Tek bir veritaban\u0131 sunucusu, hem performans darbo\u011fazlar\u0131 hem de tek hata noktas\u0131 (Single Point of Failure &#8211; SPoF) riski ta\u015f\u0131r. Birincil veritaban\u0131 sunucusunun \u00e7\u00f6kmesi durumunda, t\u00fcm uygulama hizmet d\u0131\u015f\u0131 kalabilir. Bu t\u00fcr senaryolar\u0131 \u00f6nlemek i\u00e7in y\u00fcksek eri\u015filebilirlik (High Availability &#8211; HA) ve \u00f6l\u00e7eklenebilirlik \u00e7\u00f6z\u00fcmlerine ihtiya\u00e7 duyulur.<\/p>\n<p>Geleneksel MySQL replikasyonu (ana-ba\u011f\u0131ml\u0131), birincil sunucuya yazma i\u015flemlerini yaparken, ba\u011f\u0131ml\u0131 sunucular sadece okuma i\u015flemleri i\u00e7in kullan\u0131labilir veya birincil sunucu \u00e7\u00f6kt\u00fc\u011f\u00fcnde manuel\/otomatik bir failover (devir) mekanizmas\u0131 ile birincil rol\u00fcn\u00fc \u00fcstlenir. Ancak bu y\u00f6ntemde, ba\u011f\u0131ml\u0131 sunucular genellikle asenkron \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan veri kayb\u0131 riski bulunur ve failover s\u00fcreci bir miktar kesinti yaratabilir.<\/p>\n<p>Galera K\u00fcmesi, bu sorunlara \u00e7\u00f6z\u00fcm sunar. Senkron replikasyon sayesinde t\u00fcm d\u00fc\u011f\u00fcmler ayn\u0131 anda g\u00fcncel veriye sahip olur ve \u00e7oklu ana yap\u0131s\u0131 sayesinde herhangi bir d\u00fc\u011f\u00fcme yazma i\u015flemi yap\u0131labilir. Bu, hem yazma y\u00fck\u00fcn\u00fc da\u011f\u0131tma potansiyeli sunar hem de bir d\u00fc\u011f\u00fcm\u00fcn \u00e7\u00f6kmesi durumunda di\u011fer d\u00fc\u011f\u00fcmlerin hizmeti kesintisiz bir \u015fekilde s\u00fcrd\u00fcrmesini sa\u011flar.<\/p>\n<h3>Galera Cluster&#8217;\u0131n Temel \u00d6zellikleri<\/h3>\n<p>Galera K\u00fcmesi&#8217;ni tercih etmenizi sa\u011flayacak birka\u00e7 temel \u00f6zellik bulunmaktad\u0131r:<\/p>\n<h4>Senkron Replikasyon<\/h4>\n<p>Galera, &#8220;virtually synchronous&#8221; (neredeyse senkron) replikasyon kullan\u0131r. Bu, bir i\u015flem (transaction) bir d\u00fc\u011f\u00fcmde commit edildi\u011finde, t\u00fcm di\u011fer d\u00fc\u011f\u00fcmlerin bu i\u015flemi onaylamas\u0131n\u0131 bekler. Bu sayede, k\u00fcmedeki t\u00fcm d\u00fc\u011f\u00fcmlerin veri tutarl\u0131l\u0131\u011f\u0131 sa\u011flan\u0131r ve veri kayb\u0131 riski ortadan kalkar. Geleneksel asenkron replikasyonun aksine, birincil d\u00fc\u011f\u00fcm\u00fcn \u00e7\u00f6kmesi durumunda commit edilmi\u015f hi\u00e7bir veri kaybolmaz.<\/p>\n<h4>\u00c7oklu Ana (Multi-Master) Yap\u0131<\/h4>\n<p>Galera K\u00fcmesi&#8217;ndeki t\u00fcm d\u00fc\u011f\u00fcmler ayn\u0131 anda aktif olabilir ve hem okuma hem de yazma i\u015flemleri i\u00e7in kullan\u0131labilir. Bu, uygulaman\u0131z\u0131n yazma y\u00fck\u00fcn\u00fc birden fazla d\u00fc\u011f\u00fcme da\u011f\u0131tabilece\u011fi anlam\u0131na gelir, bu da performans\u0131 art\u0131r\u0131r ve tek bir d\u00fc\u011f\u00fcm\u00fcn darbo\u011faz olu\u015fturmas\u0131n\u0131 engeller. Ancak, uygulama seviyesinde dikkatli olmak ve ayn\u0131 anda ayn\u0131 sat\u0131rda \u00e7ak\u0131\u015fan yazma i\u015flemlerini y\u00f6netmek \u00f6nemlidir.<\/p>\n<h4>Otomatik \u00dcye Y\u00f6netimi<\/h4>\n<p>Bir d\u00fc\u011f\u00fcm k\u00fcmeye kat\u0131ld\u0131\u011f\u0131nda veya k\u00fcmeden ayr\u0131ld\u0131\u011f\u0131nda (\u00e7\u00f6kme dahil), Galera K\u00fcmesi bunu otomatik olarak alg\u0131lar ve k\u00fcme \u00fcyeli\u011fini g\u00fcnceller. Yeni bir d\u00fc\u011f\u00fcm k\u00fcmeye kat\u0131ld\u0131\u011f\u0131nda, mevcut d\u00fc\u011f\u00fcmlerden birinden durum transferi (State Transfer &#8211; SST) yaparak otomatik olarak senkronize olur. Bu, operasyonel y\u00fck\u00fc \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r.<\/p>\n<h4>\u00c7at\u0131\u015fma \u00c7\u00f6z\u00fcm\u00fc (Conflict Resolution)<\/h4>\n<p>\u00c7oklu ana yap\u0131s\u0131nda, ayn\u0131 anda birden fazla d\u00fc\u011f\u00fcme yap\u0131lan yazma i\u015flemleri aras\u0131nda \u00e7ak\u0131\u015fmalar meydana gelebilir. Galera, sertifikasyon tabanl\u0131 replikasyon kullanarak bu \u00e7ak\u0131\u015fmalar\u0131 alg\u0131lar. Bir i\u015flem commit edildi\u011finde, di\u011fer d\u00fc\u011f\u00fcmlerdeki e\u015fzamanl\u0131 i\u015flemlerle \u00e7ak\u0131\u015fma olup olmad\u0131\u011f\u0131 kontrol edilir. \u00c7ak\u0131\u015fma durumunda, ilk commit eden i\u015flem kazan\u0131r ve di\u011fer \u00e7ak\u0131\u015fan i\u015flemler geri al\u0131n\u0131r (rollback). Bu durum, uygulaman\u0131z\u0131n \u00e7ak\u0131\u015fmalar\u0131 minimuma indirecek \u015fekilde tasarlanmas\u0131n\u0131 gerektirir.<\/p>\n<h4>Veri Tutarl\u0131l\u0131\u011f\u0131<\/h4>\n<p>Senkron replikasyon sayesinde, k\u00fcmedeki t\u00fcm d\u00fc\u011f\u00fcmler her zaman ayn\u0131 veri k\u00fcmesine sahiptir. Bu, okuma i\u015flemlerinin hangi d\u00fc\u011f\u00fcmden yap\u0131l\u0131rsa yap\u0131ls\u0131n her zaman en g\u00fcncel veriyi d\u00f6nd\u00fcrece\u011fi anlam\u0131na gelir. Bu g\u00fc\u00e7l\u00fc tutarl\u0131l\u0131k garantisi, \u00f6zellikle finans ve e-ticaret gibi sekt\u00f6rlerde kritik \u00f6neme sahiptir.<\/p>\n<h3>\u00d6n Ko\u015fullar ve Sistem Gereksinimleri<\/h3>\n<p>Galera k\u00fcmesi kurmadan \u00f6nce a\u015fa\u011f\u0131daki \u00f6n ko\u015fullar\u0131n ve sistem gereksinimlerinin kar\u015f\u0131land\u0131\u011f\u0131ndan emin olmal\u0131s\u0131n\u0131z:<\/p>\n<h4>Ubuntu 18.04 Sunucular\u0131<\/h4>\n<p>Bu kurulum i\u00e7in en az \u00fc\u00e7 adet Ubuntu 18.04 sunucusu \u00f6nerilir. Galera, tek bir d\u00fc\u011f\u00fcmle de \u00e7al\u0131\u015fabilir ancak y\u00fcksek eri\u015filebilirlik ve b\u00f6l\u00fcnm\u00fc\u015f beyin (split-brain) senaryolar\u0131n\u0131 \u00f6nlemek i\u00e7in tek say\u0131da (3, 5, 7 vb.) d\u00fc\u011f\u00fcm kullanmak en iyi uygulamad\u0131r. Her sunucuya statik bir IP adresi atanm\u0131\u015f olmal\u0131d\u0131r.<\/p>\n<p>*   <strong>Node 1<\/strong>: <code>192.168.1.101<\/code><br \/>\n*   <strong>Node 2<\/strong>: <code>192.168.1.102<\/code><br \/>\n*   <strong>Node 3<\/strong>: <code>192.168.1.103<\/code><\/p>\n<h4>Root veya sudo yetkisine sahip kullan\u0131c\u0131<\/h4>\n<p>Kurulum ve yap\u0131land\u0131rma ad\u0131mlar\u0131 i\u00e7in <code>sudo<\/code> yetkisine sahip bir kullan\u0131c\u0131 veya <code>root<\/code> kullan\u0131c\u0131s\u0131 gereklidir.<\/p>\n<h4>A\u011f Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>T\u00fcm d\u00fc\u011f\u00fcmlerin birbirleriyle a\u011f \u00fczerinden ileti\u015fim kurabildi\u011finden emin olun. Sunucular aras\u0131ndaki gecikmenin d\u00fc\u015f\u00fck olmas\u0131, k\u00fcme performans\u0131n\u0131 do\u011frudan etkiler.<\/p>\n<h4>Bellek ve Depolama<\/h4>\n<p>Galera K\u00fcmesi d\u00fc\u011f\u00fcmleri, MySQL sunucular\u0131 gibi bellek ve depolama a\u00e7\u0131s\u0131ndan iyi kaynaklara ihtiya\u00e7 duyar. \u0130\u015flem y\u00fck\u00fcne ve veri boyutuna ba\u011fl\u0131 olarak yeterli RAM ve h\u0131zl\u0131 disk (SSD \u00f6nerilir) tahsis edilmelidir.<\/p>\n<h4>G\u00fcvenlik Duvar\u0131 Ayarlar\u0131<\/h4>\n<p>Galera K\u00fcmesi d\u00fc\u011f\u00fcmlerinin birbirleriyle ileti\u015fim kurabilmesi i\u00e7in belirli portlar\u0131n a\u00e7\u0131k olmas\u0131 gerekir. Ubuntu&#8217;da UFW (Uncomplicated Firewall) kullan\u0131yorsan\u0131z, a\u015fa\u011f\u0131daki portlar\u0131 a\u00e7man\u0131z gerekecektir:<\/p>\n<p>*   <strong>3306\/tcp<\/strong>: MySQL istemci ba\u011flant\u0131lar\u0131 i\u00e7in.<br \/>\n*   <strong>4567\/tcp<\/strong>: Galera Cluster replikasyon trafi\u011fi i\u00e7in (unicast).<br \/>\n*   <strong>4568\/tcp<\/strong>: Durum Aktar\u0131m\u0131 (State Transfer &#8211; SST) i\u00e7in (rsync\/xtrabackup).<br \/>\n*   <strong>4444\/tcp<\/strong>: Durum Aktar\u0131m\u0131 (State Transfer &#8211; SST) i\u00e7in (rsync\/xtrabackup).<br \/>\n*   <strong>4567\/udp<\/strong>: Galera Cluster replikasyon trafi\u011fi i\u00e7in (multicast).<\/p>\n<p>Her d\u00fc\u011f\u00fcmde a\u015fa\u011f\u0131daki komutlarla bu portlar\u0131 a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 3306\/tcp\nsudo ufw allow 4567\/tcp\nsudo ufw allow 4567\/udp\nsudo ufw allow 4568\/tcp\nsudo ufw allow 4444\/tcp\nsudo ufw enable<\/code><\/pre>\n<h3>Kurulum Ad\u0131mlar\u0131<\/h3>\n<p>\u015eimdi Galera k\u00fcmesini kurmaya ba\u015flayabiliriz. T\u00fcm ad\u0131mlar her \u00fc\u00e7 d\u00fc\u011f\u00fcmde de uygulanacakt\u0131r, aksi belirtilmedik\u00e7e.<\/p>\n<h4>Ad\u0131m 1: Sunucular\u0131 G\u00fcncelleme<\/h4>\n<p>Her sunucuda sistem paket listesini g\u00fcncelleyin ve y\u00fckl\u00fc paketleri en son s\u00fcr\u00fcmlerine y\u00fckseltin:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<h4>Ad\u0131m 2: Galera Depolar\u0131n\u0131 Ekleme<\/h4>\n<p>Percona XtraDB Cluster&#8217;\u0131 kurmak i\u00e7in Percona&#8217;n\u0131n resmi depolar\u0131n\u0131 eklememiz gerekiyor. Bu, en g\u00fcncel ve kararl\u0131 s\u00fcr\u00fcmleri almam\u0131z\u0131 sa\u011flar.<\/p>\n<p>\u0130lk olarak, Percona deposunu eklemek i\u00e7in gerekli ara\u00e7lar\u0131 y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">sudo apt install software-properties-common dirmngr wget -y<\/code><\/pre>\n<p>Ard\u0131ndan, Percona Release paketini indirip kurun. Bu paket, Percona depolar\u0131n\u0131 sisteminize ekleyecektir:<\/p>\n<pre><code class=\"language-bash\">wget https:\/\/repo.percona.com\/apt\/percona-release_latest.generic_all.deb\nsudo dpkg -i percona-release_latest.generic_all.deb<\/code><\/pre>\n<p>\u015eimdi, Percona XtraDB Cluster 5.7 s\u00fcr\u00fcm\u00fcn\u00fc etkinle\u015ftirin. Ubuntu 18.04 ile uyumlu oldu\u011fu i\u00e7in 5.7 s\u00fcr\u00fcm\u00fcn\u00fc kullanaca\u011f\u0131z:<\/p>\n<pre><code class=\"language-bash\">sudo percona-release setup pxc57<\/code><\/pre>\n<p>Depo de\u011fi\u015fikliklerini yans\u0131tmak i\u00e7in paket listesini tekrar g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-bash\">sudo apt update<\/code><\/pre>\n<h4>Ad\u0131m 3: Percona XtraDB Cluster Bile\u015fenlerini Kurma<\/h4>\n<p>Depolar eklendikten sonra, Percona XtraDB Cluster sunucu ve istemci bile\u015fenlerini kurabiliriz. Ayr\u0131ca, Durum Aktar\u0131m\u0131 (SST) y\u00f6ntemi olarak kullanaca\u011f\u0131m\u0131z <code>percona-xtrabackup-24<\/code> paketini de y\u00fcklememiz gerekmektedir.<\/p>\n<pre><code class=\"language-bash\">sudo apt install percona-xtradb-cluster-server-5.7 percona-xtradb-cluster-client-5.7 percona-xtrabackup-24 -y<\/code><\/pre>\n<p>Kurulum s\u0131ras\u0131nda MySQL root kullan\u0131c\u0131s\u0131 i\u00e7in bir parola belirlemeniz istenebilir. G\u00fc\u00e7l\u00fc bir parola belirledi\u011finizden emin olun.<\/p>\n<p>MySQL servisinin otomatik olarak ba\u015flamas\u0131n\u0131 \u00f6nlemek i\u00e7in durdurun ve devre d\u0131\u015f\u0131 b\u0131rak\u0131n, \u00e7\u00fcnk\u00fc \u00f6zel bir yap\u0131land\u0131rma ile ba\u015flataca\u011f\u0131z:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl stop mysql\nsudo systemctl disable mysql<\/code><\/pre>\n<h4>Ad\u0131m 4: MySQL Yap\u0131land\u0131rmas\u0131n\u0131 D\u00fczenleme<\/h4>\n<p>Her d\u00fc\u011f\u00fcmde Galera k\u00fcmesi i\u00e7in MySQL yap\u0131land\u0131rma dosyas\u0131n\u0131 d\u00fczenlememiz gerekiyor. Yeni bir yap\u0131land\u0131rma dosyas\u0131 olu\u015fturmak en iyi y\u00f6ntemdir, b\u00f6ylece varsay\u0131lan ayarlar korunur.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/mysql\/conf.d\/galera.cnf<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki yap\u0131land\u0131rmay\u0131 bu dosyaya ekleyin. Her d\u00fc\u011f\u00fcm i\u00e7in <code>wsrep_node_name<\/code> ve <code>wsrep_node_address<\/code> parametrelerini kendi IP adresleri ve isimleriyle g\u00fcncellemeyi unutmay\u0131n.<\/p>\n<pre><code class=\"language-ini\">[mysqld]\n<h2>Genel Ayarlar<\/h2>\nbind-address = 0.0.0.0\ndatadir = \/var\/lib\/mysql\nsocket = \/var\/run\/mysqld\/mysqld.sock\npid-file = \/var\/run\/mysqld\/mysqld.pid\nlog_error = \/var\/log\/mysql\/error.log\ndefault_storage_engine = InnoDB\ninnodb_autoinc_lock_mode = 2\nquery_cache_size = 0\nquery_cache_type = 0\nbinlog_format = ROW\n\n<h2>Galera Ayarlar\u0131<\/h2>\nwsrep_on = ON\nwsrep_provider = \/usr\/lib\/galera3\/libgalera_smm.so\n\n<h2>K\u00fcme Bilgileri<\/h2>\nwsrep_cluster_name = \"my_galera_cluster\"\nwsrep_cluster_address = \"gcomm:\/\/192.168.1.101,192.168.1.102,192.168.1.103\"\n\n<h2>D\u00fc\u011f\u00fcm Bilgileri (Her d\u00fc\u011f\u00fcm i\u00e7in \u00f6zel)<\/h2>\n<h2>Node 1 i\u00e7in:<\/h2>\nwsrep_node_name = \"galera-node1\"\nwsrep_node_address = \"192.168.1.101\"\n\n<h2>Node 2 i\u00e7in:<\/h2>\n<h2>wsrep_node_name = \"galera-node2\"<\/h2>\n<h2>wsrep_node_address = \"192.168.1.102\"<\/h2>\n\n<h2>Node 3 i\u00e7in:<\/h2>\n<h2>wsrep_node_name = \"galera-node3\"<\/h2>\n<h2>wsrep_node_address = \"192.168.1.103\"<\/h2>\n\n<h2>Durum Aktar\u0131m\u0131 (SST) Ayarlar\u0131<\/h2>\nwsrep_sst_method = xtrabackup-v2\nwsrep_sst_auth = \"sstuser:SST_PASSWORD\" # G\u00fc\u00e7l\u00fc bir parola ile de\u011fi\u015ftirin!<\/code><\/pre>\n<p><strong>\u00d6nemli Notlar:<\/strong><br \/>\n*   <code>wsrep_cluster_address<\/code>: K\u00fcmedeki t\u00fcm d\u00fc\u011f\u00fcmlerin IP adreslerini virg\u00fclle ay\u0131rarak listeleyin. Bu, d\u00fc\u011f\u00fcmlerin birbirini bulmas\u0131n\u0131 sa\u011flar.<br \/>\n*   <code>wsrep_node_name<\/code> ve <code>wsrep_node_address<\/code>: Her d\u00fc\u011f\u00fcmde sadece o d\u00fc\u011f\u00fcme ait olan sat\u0131rlar\u0131n yorumunu kald\u0131r\u0131n ve kendi IP adresini yaz\u0131n.<br \/>\n*   <code>wsrep_sst_auth<\/code>: <code>sstuser<\/code> i\u00e7in g\u00fc\u00e7l\u00fc bir parola belirleyin ve <code>SST_PASSWORD<\/code> yerine kullan\u0131n. Bu kullan\u0131c\u0131y\u0131 daha sonra olu\u015fturaca\u011f\u0131z.<\/p>\n<p>Yap\u0131land\u0131rma dosyas\u0131n\u0131 kaydedin ve \u00e7\u0131k\u0131n (CTRL+O, Enter, CTRL+X).<\/p>\n<h4>Ad\u0131m 5: \u0130lk D\u00fc\u011f\u00fcm\u00fc Ba\u015flatma (Bootstrap)<\/h4>\n<p>Galera k\u00fcmesini ba\u015flatmak i\u00e7in ilk d\u00fc\u011f\u00fcm\u00fc \u00f6zel bir komutla &#8220;bootstrap&#8221; etmemiz gerekir. Bu d\u00fc\u011f\u00fcm k\u00fcmenin ilk \u00fcyesi olacak ve di\u011fer d\u00fc\u011f\u00fcmler ona ba\u011flanacakt\u0131r.<\/p>\n<p><strong>Sadece ilk d\u00fc\u011f\u00fcmde (\u00f6rne\u011fin 192.168.1.101) bu komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo galera_new_cluster<\/code><\/pre>\n<p>Servisin ba\u015flad\u0131\u011f\u0131ndan emin olmak i\u00e7in durumunu kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status mysql<\/code><\/pre>\n<p>\u015eimdi MySQL istemcisi ile ba\u011flanarak k\u00fcme boyutunu kontrol edin:<\/p>\n<pre><code class=\"language-bash\">mysql -u root -p<\/code><\/pre>\n<p>Parolan\u0131z\u0131 girdikten sonra a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-sql\">SHOW STATUS LIKE 'wsrep_cluster_size';<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131 <code>wsrep_cluster_size: 1<\/code> \u015feklinde olmal\u0131d\u0131r, bu da k\u00fcmede \u015fu an sadece bir d\u00fc\u011f\u00fcm oldu\u011funu g\u00f6sterir.<\/p>\n<h4>Ad\u0131m 6: Di\u011fer D\u00fc\u011f\u00fcmleri K\u00fcmeye Katma<\/h4>\n<p>\u0130lk d\u00fc\u011f\u00fcm ba\u015far\u0131yla ba\u015flat\u0131ld\u0131ktan sonra, di\u011fer d\u00fc\u011f\u00fcmleri k\u00fcmeye katabiliriz.<\/p>\n<p><strong>Di\u011fer d\u00fc\u011f\u00fcmlerde (\u00f6rne\u011fin 192.168.1.102 ve 192.168.1.103) a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 uygulay\u0131n:<\/strong><\/p>\n<p>1.  Yukar\u0131daki <strong>Ad\u0131m 4<\/strong>&#8216;teki <code>galera.cnf<\/code> dosyas\u0131n\u0131 kendi d\u00fc\u011f\u00fcm bilgilerinizle do\u011fru \u015fekilde yap\u0131land\u0131rd\u0131\u011f\u0131n\u0131zdan emin olun.<br \/>\n2.  MySQL servisini ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start mysql<\/code><\/pre>\n<p>    Bu d\u00fc\u011f\u00fcmler, <code>wsrep_cluster_address<\/code> parametresinde belirtilen di\u011fer d\u00fc\u011f\u00fcmleri otomatik olarak bulacak ve onlardan durum transferi (SST) yaparak k\u00fcmeye kat\u0131lacakt\u0131r. Bu i\u015flem, veri boyutuna ba\u011fl\u0131 olarak biraz zaman alabilir.<\/p>\n<p>Her d\u00fc\u011f\u00fcmde MySQL istemcisi ile ba\u011flanarak k\u00fcme durumunu kontrol edin:<\/p>\n<pre><code class=\"language-bash\">mysql -u root -p -e \"SHOW STATUS LIKE 'wsrep_cluster_size';\"<\/code><\/pre>\n<p>T\u00fcm d\u00fc\u011f\u00fcmler k\u00fcmeye kat\u0131ld\u0131ktan sonra, t\u00fcm d\u00fc\u011f\u00fcmlerde <code>wsrep_cluster_size: 3<\/code> \u00e7\u0131kt\u0131s\u0131n\u0131 g\u00f6rmelisiniz. Ayr\u0131ca, <code>wsrep_local_state_comment: Synced<\/code> \u00e7\u0131kt\u0131s\u0131n\u0131 da g\u00f6rmeniz gerekir, bu da d\u00fc\u011f\u00fcm\u00fcn senkronize oldu\u011funu g\u00f6sterir.<\/p>\n<h4>Ad\u0131m 7: SST Kullan\u0131c\u0131s\u0131 Olu\u015fturma<\/h4>\n<p><code>xtrabackup-v2<\/code> y\u00f6ntemini kullanarak durum transferi (SST) yapabilmek i\u00e7in MySQL&#8217;de \u00f6zel bir kullan\u0131c\u0131ya ihtiyac\u0131m\u0131z var. Bu kullan\u0131c\u0131y\u0131 herhangi bir d\u00fc\u011f\u00fcmde olu\u015fturabiliriz, \u00e7\u00fcnk\u00fc Galera replikasyonu sayesinde otomatik olarak di\u011fer d\u00fc\u011f\u00fcmlere de yans\u0131yacakt\u0131r.<\/p>\n<p><strong>Herhangi bir d\u00fc\u011f\u00fcmde:<\/strong><\/p>\n<pre><code class=\"language-bash\">mysql -u root -p<\/code><\/pre>\n<p>Parolan\u0131z\u0131 girdikten sonra a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n ( <code>SST_PASSWORD<\/code> yerine <code>galera.cnf<\/code> dosyas\u0131nda belirledi\u011finiz parolay\u0131 kullan\u0131n):<\/p>\n<pre><code class=\"language-sql\">CREATE USER 'sstuser'@'localhost' IDENTIFIED BY 'SST_PASSWORD';\nGRANT RELOAD, LOCK TABLES, REPLICATION CLIENT, PROCESS ON <em>.<\/em> TO 'sstuser'@'localhost';\nFLUSH PRIVILEGES;\nEXIT;<\/code><\/pre>\n<p>Bu kullan\u0131c\u0131y\u0131 olu\u015fturduktan sonra, k\u00fcmedeki t\u00fcm d\u00fc\u011f\u00fcmleri yeniden ba\u015flatman\u0131z gerekecektir. Yeniden ba\u015flatma i\u015flemini s\u0131rayla yap\u0131n (bir d\u00fc\u011f\u00fcm\u00fc durdurun, ba\u015flat\u0131n, di\u011ferine ge\u00e7in).<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart mysql<\/code><\/pre>\n<h4>Ad\u0131m 8: MySQL Root Parolas\u0131n\u0131 Ayarlama<\/h4>\n<p>Kurulum s\u0131ras\u0131nda zaten bir root parolas\u0131 belirlemi\u015f olabilirsiniz. E\u011fer belirlemediyseniz veya de\u011fi\u015ftirmek isterseniz, <code>mysql_secure_installation<\/code> arac\u0131n\u0131 kullanabilirsiniz. Bu ara\u00e7, root parolas\u0131n\u0131 ayarlaman\u0131n yan\u0131 s\u0131ra, anonim kullan\u0131c\u0131lar\u0131 kald\u0131rma, uzaktan root giri\u015fini devre d\u0131\u015f\u0131 b\u0131rakma ve test veritaban\u0131n\u0131 silme gibi ek g\u00fcvenlik \u00f6nlemleri alman\u0131za yard\u0131mc\u0131 olur.<\/p>\n<p><strong>Herhangi bir d\u00fc\u011f\u00fcmde:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo mysql_secure_installation<\/code><\/pre>\n<p>Komut istemlerini takip ederek gerekli g\u00fcvenlik ayarlar\u0131n\u0131 yap\u0131n.<\/p>\n<h3>Galera Cluster Y\u00f6netimi ve \u0130zleme<\/h3>\n<p>Galera k\u00fcmenizi kurduktan sonra, durumunu izlemek ve y\u00f6netmek \u00f6nemlidir.<\/p>\n<h4>K\u00fcme Durumunu Kontrol Etme<\/h4>\n<p>MySQL istemcisi \u00fczerinden <code>SHOW STATUS LIKE 'wsrep%';<\/code> komutu ile k\u00fcmenin durumunu detayl\u0131 olarak inceleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">mysql -u root -p -e \"SHOW STATUS LIKE 'wsrep%';\"<\/code><\/pre>\n<p>\u00d6nemli \u00e7\u0131kt\u0131lar:<br \/>\n*   <code>wsrep_cluster_size<\/code>: K\u00fcmedeki aktif d\u00fc\u011f\u00fcm say\u0131s\u0131.<br \/>\n*   <code>wsrep_local_state_comment<\/code>: D\u00fc\u011f\u00fcm\u00fcn durumu (Synced, Donor\/Desync, Joined, etc.). <code>Synced<\/code> olmas\u0131 gerekir.<br \/>\n*   <code>wsrep_incoming_addresses<\/code>: K\u00fcmedeki di\u011fer d\u00fc\u011f\u00fcmlerin IP adresleri.<br \/>\n*   <code>wsrep_local_recv_queue_avg<\/code>: \u0130\u015flemlerin yerel kuyruktaki ortalama boyutu. Y\u00fcksek de\u011ferler, d\u00fc\u011f\u00fcm\u00fcn replikasyonu yakalamakta zorland\u0131\u011f\u0131n\u0131 g\u00f6sterebilir.<br \/>\n*   <code>wsrep_flow_control_paused<\/code>: Ak\u0131\u015f kontrol\u00fcn\u00fcn ne kadar s\u00fcreyle duraklat\u0131ld\u0131\u011f\u0131n\u0131 g\u00f6sterir. Y\u00fcksek de\u011ferler, k\u00fcmede bir darbo\u011faz oldu\u011funu i\u015faret edebilir.<\/p>\n<h4>D\u00fc\u011f\u00fcm \u00c7\u0131karma ve Ekleme<\/h4>\n<p>Bir d\u00fc\u011f\u00fcm\u00fc k\u00fcmeden g\u00fcvenli bir \u015fekilde \u00e7\u0131karmak i\u00e7in MySQL servisini durdurman\u0131z yeterlidir. K\u00fcme, kalan d\u00fc\u011f\u00fcmlerle \u00e7al\u0131\u015fmaya devam edecektir. Bir d\u00fc\u011f\u00fcm\u00fc tekrar eklemek i\u00e7in sadece MySQL servisini ba\u015flatman\u0131z yeterlidir; d\u00fc\u011f\u00fcm otomatik olarak SST yaparak k\u00fcmeye kat\u0131lacakt\u0131r.<\/p>\n<h4>Y\u00fck Dengeleme (Load Balancing)<\/h4>\n<p>Galera K\u00fcmesi, \u00e7oklu ana yap\u0131s\u0131 sayesinde birden fazla d\u00fc\u011f\u00fcme yazma ve okuma i\u015flemleri yap\u0131lmas\u0131na olanak tan\u0131r. Ancak, uygulamalar\u0131n bu d\u00fc\u011f\u00fcmler aras\u0131nda y\u00fck\u00fc dengelemesi i\u00e7in bir y\u00fck dengeleyiciye ihtiya\u00e7 duyulur. Yayg\u0131n kullan\u0131lan y\u00fck dengeleyiciler \u015funlard\u0131r:<\/p>\n<p>*   <strong>HAProxy<\/strong>: TCP seviyesinde y\u00fck dengeleme yaparak istemci ba\u011flant\u0131lar\u0131n\u0131 Galera d\u00fc\u011f\u00fcmleri aras\u0131nda da\u011f\u0131tabilir. Sa\u011fl\u0131k kontrolleri ile yaln\u0131zca sa\u011fl\u0131kl\u0131 d\u00fc\u011f\u00fcmlere y\u00f6nlendirme yapar.<br \/>\n*   <strong>ProxySQL<\/strong>: MySQL protokol\u00fcn\u00fc anlayan ve sorgu seviyesinde y\u00fck dengeleme ve y\u00f6nlendirme yapabilen geli\u015fmi\u015f bir proxy&#8217;dir. Okuma\/yazma ay\u0131rma, sorgu yeniden yazma ve \u00f6nbellekleme gibi \u00f6zellikler sunar.<\/p>\n<p>Bu ara\u00e7lar\u0131n yap\u0131land\u0131rmas\u0131 bu makalenin kapsam\u0131n\u0131n d\u0131\u015f\u0131ndad\u0131r, ancak y\u00fcksek eri\u015filebilir ve performansl\u0131 bir Galera k\u00fcmesi i\u00e7in kritik \u00f6neme sahiptirler.<\/p>\n<h3>S\u0131k\u00e7a Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>Galera k\u00fcmesi y\u00f6netirken kar\u015f\u0131la\u015fabilece\u011finiz baz\u0131 yayg\u0131n sorunlar ve potansiyel \u00e7\u00f6z\u00fcmleri \u015funlard\u0131r:<\/p>\n<h4>Split-Brain Senaryosu<\/h4>\n<p>A\u011f b\u00f6l\u00fcnd\u00fc\u011f\u00fcnde (network partition), k\u00fcme birden fazla alt k\u00fcmeye ayr\u0131labilir ve her biri kendini ana k\u00fcme sanabilir. Bu duruma &#8220;split-brain&#8221; denir ve veri tutars\u0131zl\u0131\u011f\u0131na yol a\u00e7abilir. Galera, <code>wsrep_provider_options<\/code> i\u00e7inde <code>pc.strict_mode=ON<\/code> ve <code>pc.quorum_rules<\/code> gibi parametrelerle bu durumu y\u00f6netmeye \u00e7al\u0131\u015f\u0131r. En iyi uygulama, tek say\u0131da d\u00fc\u011f\u00fcm kullanmak ve a\u011f ba\u011flant\u0131lar\u0131n\u0131 yedekli hale getirmektir. Bir split-brain durumunda, k\u00fcmenin \u00e7o\u011funlu\u011funa sahip olan alt k\u00fcme aktif kal\u0131r, di\u011ferleri hizmeti durdurur.<\/p>\n<h4>D\u00fc\u011f\u00fcm Senkronizasyon Sorunlar\u0131 (SST\/IST Ba\u015far\u0131s\u0131zl\u0131klar\u0131)<\/h4>\n<p>Yeni bir d\u00fc\u011f\u00fcm k\u00fcmeye kat\u0131l\u0131rken veya uzun s\u00fcre \u00e7evrimd\u0131\u015f\u0131 kalm\u0131\u015f bir d\u00fc\u011f\u00fcm geri d\u00f6nerken, durum transferi (SST &#8211; State Snapshot Transfer veya IST &#8211; Incremental State Transfer) ba\u015far\u0131s\u0131z olabilir.<br \/>\n*   <strong>SST Ba\u015far\u0131s\u0131zl\u0131\u011f\u0131<\/strong>: Genellikle <code>wsrep_sst_auth<\/code> kullan\u0131c\u0131s\u0131n\u0131n yetkileri, parolas\u0131 veya <code>xtrabackup<\/code> ara\u00e7lar\u0131n\u0131n eksikli\u011fi\/uyumsuzlu\u011fu nedeniyle olu\u015fur. <code>mysql<\/code> hata g\u00fcnl\u00fcklerini kontrol edin.<br \/>\n*   <strong>IST Ba\u015far\u0131s\u0131zl\u0131\u011f\u0131<\/strong>: D\u00fc\u011f\u00fcm\u00fcn \u00e7ok uzun s\u00fcre \u00e7evrimd\u0131\u015f\u0131 kalmas\u0131 ve di\u011fer d\u00fc\u011f\u00fcmlerin tuttu\u011fu i\u015flem ge\u00e7mi\u015fini (gcache) kaybetmesi durumunda olu\u015fur. Bu durumda d\u00fc\u011f\u00fcm tam bir SST yapmak zorunda kal\u0131r.<\/p>\n<h4>A\u011f Gecikmesi<\/h4>\n<p>Galera senkron replikasyon kulland\u0131\u011f\u0131 i\u00e7in, d\u00fc\u011f\u00fcmler aras\u0131ndaki y\u00fcksek a\u011f gecikmesi i\u015flem commit s\u00fcrelerini uzatabilir ve k\u00fcme performans\u0131n\u0131 d\u00fc\u015f\u00fcrebilir. D\u00fc\u011f\u00fcmlerin co\u011frafi olarak birbirine yak\u0131n olmas\u0131n\u0131 sa\u011flamak ve d\u00fc\u015f\u00fck gecikmeli a\u011f altyap\u0131s\u0131 kullanmak \u00f6nemlidir.<\/p>\n<h4>Yazma \u00c7ak\u0131\u015fmalar\u0131 (Deadlock)<\/h4>\n<p>\u00c7oklu ana yap\u0131s\u0131nda ayn\u0131 anda ayn\u0131 sat\u0131rda yap\u0131lan yazma i\u015flemleri \u00e7ak\u0131\u015fmalara (deadlock) neden olabilir. Galera, bu \u00e7ak\u0131\u015fmalar\u0131 sertifikasyon mekanizmas\u0131yla \u00e7\u00f6zer ve \u00e7ak\u0131\u015fan i\u015flemlerden birini geri al\u0131r. Uygulaman\u0131z\u0131n bu durumlar\u0131 uygun \u015fekilde ele almas\u0131 ve yeniden deneme mekanizmalar\u0131 i\u00e7ermesi \u00f6nemlidir. \u00c7ak\u0131\u015fmalar\u0131 en aza indirmek i\u00e7in uygulaman\u0131z\u0131n yazma y\u00fck\u00fcn\u00fc belirli d\u00fc\u011f\u00fcmlere y\u00f6nlendirmeyi d\u00fc\u015f\u00fcnebilirsiniz.<\/p>\n<h3>G\u00fcvenlik Konular\u0131<\/h3>\n<p>Galera k\u00fcmenizin g\u00fcvenli\u011fini sa\u011flamak, verilerinizin korunmas\u0131 i\u00e7in hayati \u00f6neme sahiptir.<\/p>\n<h4>A\u011f G\u00fcvenli\u011fi<\/h4>\n<p>*   <strong>G\u00fcvenlik Duvar\u0131<\/strong>: Sadece gerekli portlar\u0131 (3306, 4567, 4568, 4444) g\u00fcvenilir IP adreslerinden gelen ba\u011flant\u0131lara a\u00e7\u0131n.<br \/>\n*   <strong>VPN\/\u00d6zel A\u011f<\/strong>: M\u00fcmk\u00fcnse Galera d\u00fc\u011f\u00fcmleri aras\u0131ndaki ileti\u015fimi \u00f6zel bir a\u011f veya VPN t\u00fcneli \u00fczerinden yap\u0131n.<br \/>\n*   <strong>SSL\/TLS<\/strong>: MySQL istemci ba\u011flant\u0131lar\u0131 ve Galera replikasyon trafi\u011fi i\u00e7in SSL\/TLS \u015fifrelemesi kullan\u0131n. Bu, <code>wsrep_provider_options<\/code> i\u00e7inde <code>socket.ssl_key<\/code>, <code>socket.ssl_cert<\/code> ve <code>socket.ssl_ca<\/code> gibi parametrelerle yap\u0131land\u0131r\u0131labilir.<\/p>\n<h4>Veritaban\u0131 Kullan\u0131c\u0131 Yetkileri<\/h4>\n<p>*   Minimum yetki prensibini uygulay\u0131n. Uygulama kullan\u0131c\u0131lar\u0131na sadece ihtiya\u00e7 duyduklar\u0131 veritaban\u0131 ve tablo yetkilerini verin.<br \/>\n*   <code>root<\/code> kullan\u0131c\u0131s\u0131n\u0131n uzaktan eri\u015fimini devre d\u0131\u015f\u0131 b\u0131rak\u0131n veya \u00e7ok k\u0131s\u0131tl\u0131 bir IP adresinden eri\u015fimine izin verin.<br \/>\n*   <code>sstuser<\/code> gibi \u00f6zel kullan\u0131c\u0131lar i\u00e7in sadece gerekli yetkileri verin.<\/p>\n<h4>\u015eifreleme<\/h4>\n<p>*   <strong>Veri \u015eifrelemesi<\/strong>: Hassas verileri depolamadan \u00f6nce uygulama katman\u0131nda \u015fifreleyin.<br \/>\n*   <strong>Diskte \u015eifreleme (Encryption at Rest)<\/strong>: Veritaban\u0131 dosyalar\u0131n\u0131n depoland\u0131\u011f\u0131 diskleri \u015fifrelemeyi d\u00fc\u015f\u00fcnebilirsiniz. Percona XtraDB Cluster, InnoDB tablespace \u015fifrelemesini destekler.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu makalede, Ubuntu 18.04 sunucular \u00fczerinde MySQL ile g\u00fc\u00e7l\u00fc bir Galera K\u00fcmesi&#8217;nin nas\u0131l yap\u0131land\u0131r\u0131laca\u011f\u0131n\u0131 ad\u0131m ad\u0131m \u00f6\u011frendik. Galera K\u00fcmesi, y\u00fcksek eri\u015filebilirlik, veri tutarl\u0131l\u0131\u011f\u0131 ve \u00e7oklu ana replikasyon yetenekleri sayesinde modern uygulamalar\u0131n gerektirdi\u011fi \u00f6l\u00e7eklenebilirlik ve kesintisiz hizmet ihtiya\u00e7lar\u0131n\u0131 kar\u015f\u0131lamak i\u00e7in m\u00fckemmel bir \u00e7\u00f6z\u00fcmd\u00fcr.<\/p>\n<p>Kurulum s\u00fcrecinde, Percona depolar\u0131n\u0131 ekledik, gerekli paketleri kurduk, her d\u00fc\u011f\u00fcm i\u00e7in \u00f6zel yap\u0131land\u0131rmalar\u0131 yapt\u0131k ve k\u00fcmeyi ba\u015flatt\u0131k. Ayr\u0131ca, k\u00fcme y\u00f6netimi, izleme, yayg\u0131n sorunlar ve g\u00fcvenlik konular\u0131 hakk\u0131nda da bilgi verdik.<\/p>\n<p>Galera K\u00fcmesi&#8217;nin tam potansiyelini kullanmak i\u00e7in, uygulaman\u0131z\u0131n \u00e7oklu ana yap\u0131s\u0131na uygun olarak tasarlanmas\u0131 ve potansiyel yazma \u00e7ak\u0131\u015fmalar\u0131n\u0131 ele almas\u0131 \u00f6nemlidir. Y\u00fck dengeleyiciler (HAProxy, ProxySQL) kullanarak k\u00fcmenizin performans\u0131n\u0131 ve eri\u015filebilirli\u011fini daha da art\u0131rabilirsiniz. Ba\u015far\u0131l\u0131 bir Galera K\u00fcmesi, sa\u011flam bir altyap\u0131 ve dikkatli y\u00f6netim ile i\u015fletmenizin kritik veritaban\u0131 ihtiya\u00e7lar\u0131n\u0131 g\u00fcvenilir bir \u015fekilde kar\u015f\u0131layacakt\u0131r.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu 18.04 Sunucularda MySQL ile Galera K\u00fcmesi Yap\u0131land\u0131rmas\u0131\nGalera K\u00fcmesi, MySQL, MariaDB veya Percona Server for MySQL i\u00e7in senkron, \u00e7okl","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1468],"tags":[],"class_list":{"0":"post-31489","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ubuntu 18.04 Sunucularda MySQL ile Galera K\u00fcmesi Yap\u0131land\u0131rmas\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-sunucularda-mysql-ile-galera-kumesi-yapilandirmasi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu 18.04 Sunucularda MySQL ile Galera K\u00fcmesi Yap\u0131land\u0131rmas\u0131\" \/>\n<meta property=\"og:description\" content=\"Ubuntu 18.04 Sunucularda MySQL ile Galera K\u00fcmesi Yap\u0131land\u0131rmas\u0131 Galera K\u00fcmesi, MySQL, MariaDB veya Percona Server for MySQL i\u00e7in senkron, \u00e7okl\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-sunucularda-mysql-ile-galera-kumesi-yapilandirmasi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-10T10:41:06+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-sunucularda-mysql-ile-galera-kumesi-yapilandirmasi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-sunucularda-mysql-ile-galera-kumesi-yapilandirmasi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu 18.04 Sunucularda MySQL ile Galera K\u00fcmesi Yap\u0131land\u0131rmas\u0131\",\"datePublished\":\"2025-10-10T10:41:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-sunucularda-mysql-ile-galera-kumesi-yapilandirmasi\/\"},\"wordCount\":2887,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-sunucularda-mysql-ile-galera-kumesi-yapilandirmasi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-sunucularda-mysql-ile-galera-kumesi-yapilandirmasi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-sunucularda-mysql-ile-galera-kumesi-yapilandirmasi\/\",\"name\":\"Ubuntu 18.04 Sunucularda MySQL ile Galera K\u00fcmesi Yap\u0131land\u0131rmas\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-10T10:41:06+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-sunucularda-mysql-ile-galera-kumesi-yapilandirmasi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-sunucularda-mysql-ile-galera-kumesi-yapilandirmasi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-sunucularda-mysql-ile-galera-kumesi-yapilandirmasi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu 18.04 Sunucularda MySQL ile Galera K\u00fcmesi Yap\u0131land\u0131rmas\u0131\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ubuntu 18.04 Sunucularda MySQL ile Galera K\u00fcmesi Yap\u0131land\u0131rmas\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-sunucularda-mysql-ile-galera-kumesi-yapilandirmasi\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu 18.04 Sunucularda MySQL ile Galera K\u00fcmesi Yap\u0131land\u0131rmas\u0131","og_description":"Ubuntu 18.04 Sunucularda MySQL ile Galera K\u00fcmesi Yap\u0131land\u0131rmas\u0131 Galera K\u00fcmesi, MySQL, MariaDB veya Percona Server for MySQL i\u00e7in senkron, \u00e7okl","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-sunucularda-mysql-ile-galera-kumesi-yapilandirmasi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-10T10:41:06+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"16 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-sunucularda-mysql-ile-galera-kumesi-yapilandirmasi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-sunucularda-mysql-ile-galera-kumesi-yapilandirmasi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu 18.04 Sunucularda MySQL ile Galera K\u00fcmesi Yap\u0131land\u0131rmas\u0131","datePublished":"2025-10-10T10:41:06+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-sunucularda-mysql-ile-galera-kumesi-yapilandirmasi\/"},"wordCount":2887,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-sunucularda-mysql-ile-galera-kumesi-yapilandirmasi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-sunucularda-mysql-ile-galera-kumesi-yapilandirmasi\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-sunucularda-mysql-ile-galera-kumesi-yapilandirmasi\/","name":"Ubuntu 18.04 Sunucularda MySQL ile Galera K\u00fcmesi Yap\u0131land\u0131rmas\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-10T10:41:06+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-sunucularda-mysql-ile-galera-kumesi-yapilandirmasi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-sunucularda-mysql-ile-galera-kumesi-yapilandirmasi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-sunucularda-mysql-ile-galera-kumesi-yapilandirmasi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu 18.04 Sunucularda MySQL ile Galera K\u00fcmesi Yap\u0131land\u0131rmas\u0131"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31489","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=31489"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31489\/revisions"}],"predecessor-version":[{"id":31490,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31489\/revisions\/31490"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=31489"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=31489"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=31489"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}