{"id":38017,"date":"2026-01-21T14:41:00","date_gmt":"2026-01-21T11:41:00","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=38017"},"modified":"2026-01-21T14:41:00","modified_gmt":"2026-01-21T11:41:00","slug":"galera-clusteri-mysql-5-6-ile-ubuntu-16-04-uzerinde-yapilandirma-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/galera-clusteri-mysql-5-6-ile-ubuntu-16-04-uzerinde-yapilandirma-rehberi\/","title":{"rendered":"Galera Cluster&#8217;\u0131 MySQL 5.6 ile Ubuntu 16.04 \u00dczerinde Yap\u0131land\u0131rma Rehberi"},"content":{"rendered":"<p><body><\/p>\n<h2>Galera Cluster&#8217;\u0131 MySQL 5.6 ile Ubuntu 16.04 \u00dczerinde Yap\u0131land\u0131rma Rehberi<\/h2>\n<h3>Giri\u015f<\/h3>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla de\u011fi\u015fen dijital d\u00fcnyas\u0131nda, veritaban\u0131 sistemlerinin y\u00fcksek eri\u015filebilirlik (High Availability &#8211; HA) ve felaket kurtarma (Disaster Recovery) yetenekleri kritik \u00f6neme sahiptir. Tek bir veritaban\u0131 sunucusunun ar\u0131zalanmas\u0131, t\u00fcm uygulamalar\u0131n ve hizmetlerin durmas\u0131na neden olabilir. Bu t\u00fcr senaryolar\u0131 engellemek i\u00e7in k\u00fcmeleme (clustering) \u00e7\u00f6z\u00fcmleri devreye girer. Galera Cluster, MySQL (veya t\u00fcrevleri) i\u00e7in senkron replikasyon sa\u011flayan, \u00e7ok ana (multi-master) bir k\u00fcmeleme \u00e7\u00f6z\u00fcm\u00fcd\u00fcr. Bu sayede, k\u00fcmedeki t\u00fcm d\u00fc\u011f\u00fcmler ayn\u0131 anda yazma ve okuma i\u015flemleri yapabilir ve bir d\u00fc\u011f\u00fcm\u00fcn \u00e7\u00f6kmesi durumunda bile hizmet kesintisi ya\u015fanmaz.<\/p>\n<p>Bu teknik makalede, MySQL 5.6 veritaban\u0131 sunucusunu Ubuntu 16.04 i\u015fletim sistemi \u00fczerinde Galera Cluster ile nas\u0131l yap\u0131land\u0131raca\u011f\u0131m\u0131z\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz. Her ne kadar MySQL 5.6 ve Ubuntu 16.04 g\u00fcncel s\u00fcr\u00fcmler olmasa da, belirli projeler veya eski sistemlerle uyumluluk gereksinimleri nedeniyle bu kombinasyonun hala kullan\u0131lmas\u0131 gerekebilir. Bu rehber, bu \u00f6zel ortamda sa\u011flam ve y\u00fcksek eri\u015filebilir bir veritaban\u0131 altyap\u0131s\u0131 kurmak isteyen sistem y\u00f6neticileri ve geli\u015ftiriciler i\u00e7in detayl\u0131 bir yol haritas\u0131 sunmaktad\u0131r. Galera&#8217;n\u0131n senkron replikasyon mimarisi, veri tutarl\u0131l\u0131\u011f\u0131n\u0131 garanti ederken, \u00e7ok ana yap\u0131s\u0131 sayesinde y\u00fck dengeleme ve \u00f6l\u00e7eklenebilirlik potansiyeli sunar. Kurulum s\u00fcreci, gerekli paketlerin y\u00fcklenmesinden, MySQL ve Galera yap\u0131land\u0131rmas\u0131na, k\u00fcmenin ba\u015flat\u0131lmas\u0131na ve durumunun kontrol edilmesine kadar t\u00fcm ad\u0131mlar\u0131 kapsayacakt\u0131r.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>Galera Cluster kurulumuna ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki \u00f6n gereksinimlerin kar\u015f\u0131land\u0131\u011f\u0131ndan emin olmal\u0131s\u0131n\u0131z:<\/p>\n<p>*   <strong>En Az \u00dc\u00e7 Sunucu:<\/strong> Galera Cluster, quorum (\u00e7o\u011funluk) mekanizmas\u0131 ile \u00e7al\u0131\u015ft\u0131\u011f\u0131 i\u00e7in, ar\u0131za tolerans\u0131 ve b\u00f6l\u00fcnm\u00fc\u015f beyin (split-brain) senaryolar\u0131n\u0131 \u00f6nlemek amac\u0131yla tek say\u0131da d\u00fc\u011f\u00fcmle (node) \u00e7al\u0131\u015fmas\u0131 \u015fiddetle tavsiye edilir. Bu nedenle, en az \u00fc\u00e7 adet Ubuntu 16.04 sunucusuna ihtiyac\u0131n\u0131z olacakt\u0131r. Sunucular fiziksel, sanal veya bulut tabanl\u0131 olabilir. Bu rehberde <code>node1<\/code>, <code>node2<\/code> ve <code>node3<\/code> olarak adland\u0131r\u0131lacaklard\u0131r.<br \/>\n*   <strong>Ubuntu 16.04 \u0130\u015fletim Sistemi:<\/strong> T\u00fcm d\u00fc\u011f\u00fcmlerin Ubuntu 16.04 (Xenial Xerus) i\u015fletim sistemine sahip olmas\u0131 gerekmektedir.<br \/>\n*   <strong>Root veya Sudo Yetkileri:<\/strong> Kurulum ve yap\u0131land\u0131rma i\u015flemleri i\u00e7in t\u00fcm sunucularda root eri\u015fimine veya sudo yetkisine sahip bir kullan\u0131c\u0131ya ihtiyac\u0131n\u0131z olacakt\u0131r.<br \/>\n*   <strong>A\u011f Ba\u011flant\u0131s\u0131:<\/strong> T\u00fcm d\u00fc\u011f\u00fcmler aras\u0131nda kesintisiz ve g\u00fcvenli bir a\u011f ba\u011flant\u0131s\u0131 olmal\u0131d\u0131r. Galera Cluster, d\u00fc\u011f\u00fcmler aras\u0131 ileti\u015fim i\u00e7in belirli portlar\u0131 kullan\u0131r.<br \/>\n*   <strong>Statik IP Adresleri:<\/strong> Her d\u00fc\u011f\u00fcm i\u00e7in statik bir IP adresi atanmas\u0131 \u00f6nerilir. Bu, k\u00fcme yap\u0131land\u0131rmas\u0131n\u0131 daha kararl\u0131 hale getirecektir. \u00d6rne\u011fin:<br \/>\n    *   <code>node1<\/code>: 192.168.1.101<br \/>\n    *   <code>node2<\/code>: 192.168.1.102<br \/>\n    *   <code>node3<\/code>: 192.168.1.103<br \/>\n*   <strong>Temel Linux Bilgisi:<\/strong> Komut sat\u0131r\u0131 kullan\u0131m\u0131, dosya d\u00fczenleme ve servis y\u00f6netimi gibi temel Linux bilgisine sahip olmak \u00f6nemlidir.<br \/>\n*   <strong>G\u00fcvenlik Duvar\u0131 (Firewall) Ayarlar\u0131:<\/strong> G\u00fcvenlik duvar\u0131 kullan\u0131l\u0131yorsa, Galera Cluster&#8217;\u0131n ihtiya\u00e7 duydu\u011fu portlar\u0131n a\u00e7\u0131k oldu\u011fundan emin olunmal\u0131d\u0131r. Bu portlar \u015funlard\u0131r:<br \/>\n    *   <code>3306\/tcp<\/code>: MySQL istemci ba\u011flant\u0131lar\u0131 i\u00e7in.<br \/>\n    *   <code>4444\/tcp<\/code>: Durum Aktar\u0131m\u0131 (State Snapshot Transfer &#8211; SST) i\u00e7in (\u00f6rne\u011fin rsync veya xtrabackup).<br \/>\n    *   <code>4567\/tcp<\/code>: Galera Cluster \u00e7o\u011faltma trafi\u011fi i\u00e7in (unicast ve multicast).<br \/>\n    *   <code>4568\/tcp<\/code>: Durum Aktar\u0131m\u0131 (IST) i\u00e7in.<\/p>\n<p>Bu gereksinimler kar\u015f\u0131land\u0131ktan sonra, Galera Cluster kurulumuna ge\u00e7ebiliriz.<\/p>\n<h3>Ad\u0131m 1: Sistem G\u00fcncelleme ve Gerekli Paketlerin Kurulumu<\/h3>\n<p>Herhangi bir yaz\u0131l\u0131m kurulumuna ba\u015flamadan \u00f6nce, i\u015fletim sistemi paketlerinin g\u00fcncel oldu\u011fundan emin olmak iyi bir uygulamad\u0131r. Bu, g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 kapat\u0131r ve ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131n\u0131 \u00f6nler. Ayr\u0131ca, Galera ve MySQL depolar\u0131n\u0131 eklemek i\u00e7in baz\u0131 temel paketlere ihtiyac\u0131m\u0131z olacak.<\/p>\n<p>T\u00fcm d\u00fc\u011f\u00fcmlerde a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<p>Bu komutlar, sistemdeki paket listesini g\u00fcnceller ve mevcut t\u00fcm paketleri en son s\u00fcr\u00fcmlerine y\u00fckseltir. Ard\u0131ndan, MySQL ve Galera depolar\u0131n\u0131 eklemek i\u00e7in gerekli olan <code>software-properties-common<\/code>, <code>dirmngr<\/code> ve <code>apt-transport-https<\/code> paketlerini kural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo apt install -y software-properties-common dirmngr apt-transport-https<\/code><\/pre>\n<p>*   <code>software-properties-common<\/code>: Depo ekleme gibi i\u015flemler i\u00e7in yard\u0131mc\u0131 programlar sa\u011flar.<br \/>\n*   <code>dirmngr<\/code>: GPG anahtarlar\u0131n\u0131 y\u00f6netmek i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <code>apt-transport-https<\/code>: HTTPS \u00fczerinden depolar\u0131 kullanabilmek i\u00e7in gereklidir.<\/p>\n<p>Bu ad\u0131mlar, sisteminizi MySQL ve Galera Cluster kurulumuna haz\u0131rlar.<\/p>\n<h3>Ad\u0131m 2: MySQL 5.6 ve Galera Depolar\u0131n\u0131n Eklemesi<\/h3>\n<p>Ubuntu 16.04&#8217;\u00fcn varsay\u0131lan depolar\u0131nda MySQL 5.6 veya Galera Cluster&#8217;\u0131n g\u00fcncel s\u00fcr\u00fcmleri bulunmayabilir. Bu nedenle, Codership (Galera&#8217;n\u0131n geli\u015ftiricisi) taraf\u0131ndan sa\u011flanan \u00f6zel depolar\u0131 eklememiz gerekmektedir. Bu depolar, MySQL&#8217;in WSREP (Write Set Replication) yamal\u0131 s\u00fcr\u00fcm\u00fcn\u00fc ve Galera k\u00fct\u00fcphanelerini i\u00e7erir.<\/p>\n<p>T\u00fcm d\u00fc\u011f\u00fcmlerde a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 uygulay\u0131n:<\/p>\n<p>\u00d6ncelikle, Codership GPG anahtar\u0131n\u0131 sisteminize eklememiz gerekiyor. Bu anahtar, depodan indirilecek paketlerin do\u011frulu\u011funu sa\u011flamak i\u00e7in kullan\u0131l\u0131r:<\/p>\n<pre><code class=\"language-bash\">sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BC19DDBA<\/code><\/pre>\n<p>Bu komut, Codership&#8217;\u0131n genel anahtar\u0131n\u0131 Ubuntu&#8217;nun anahtar sunucusundan al\u0131r ve yerel anahtar halkas\u0131na ekler. Anahtar eklendikten sonra, Codership&#8217;\u0131n MySQL 5.6 (WSREP \u00f6zellikli) ve Galera 3 i\u00e7in deposunu <code>sources.list.d<\/code> dizinine eklememiz gerekiyor:<\/p>\n<pre><code class=\"language-bash\">sudo add-apt-repository 'deb http:\/\/releases.galeracluster.com\/mysql-wsrep-5.6\/ubuntu xenial main'<\/code><\/pre>\n<p>Bu komut, <code>http:\/\/releases.galeracluster.com\/mysql-wsrep-5.6\/ubuntu<\/code> adresindeki depoyu Ubuntu 16.04 (xenial) sisteminize ekler. <code>main<\/code> k\u0131sm\u0131, depodaki ana paketleri ifade eder.<\/p>\n<p>Depo eklendikten sonra, sisteminizin yeni depoyu tan\u0131mas\u0131 i\u00e7in paket listesini tekrar g\u00fcncellemeniz gerekmektedir:<\/p>\n<pre><code class=\"language-bash\">sudo apt update<\/code><\/pre>\n<p>Art\u0131k sisteminiz, MySQL 5.6&#8217;n\u0131n WSREP yamal\u0131 s\u00fcr\u00fcm\u00fcn\u00fc ve Galera Cluster bile\u015fenlerini bu depodan indirebilir ve kurabilir. Bu ad\u0131m, k\u00fcme i\u00e7in do\u011fru MySQL s\u00fcr\u00fcm\u00fcn\u00fc ve Galera k\u00fct\u00fcphanelerini edinmenin temelini olu\u015fturur.<\/p>\n<h3>Ad\u0131m 3: MySQL WSREP Server ve Galera Paketlerinin Kurulumu<\/h3>\n<p>Depolar\u0131 ekledikten ve g\u00fcncelledikten sonra, art\u0131k MySQL WSREP sunucusunu ve Galera Cluster paketlerini kurabiliriz. Bu ad\u0131m, veritaban\u0131 sunucusunun kendisini ve Galera replikasyon motorunu sisteminize y\u00fckleyecektir.<\/p>\n<p>T\u00fcm d\u00fc\u011f\u00fcmlerde a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt install -y mysql-wsrep-server-5.6 mysql-wsrep-client-5.6 galera-3<\/code><\/pre>\n<p>*   <code>mysql-wsrep-server-5.6<\/code>: Galera Cluster ile uyumlu, MySQL 5.6 sunucusudur. <code>wsrep<\/code> \u00f6n eki, Galera entegrasyonuna sahip oldu\u011funu g\u00f6sterir.<br \/>\n*   <code>mysql-wsrep-client-5.6<\/code>: MySQL sunucusuna ba\u011flanmak i\u00e7in gerekli olan istemci ara\u00e7lar\u0131n\u0131 i\u00e7erir.<br \/>\n*   <code>galera-3<\/code>: Galera Cluster&#8217;\u0131n temel k\u00fct\u00fcphanelerini ve ara\u00e7lar\u0131n\u0131 i\u00e7erir.<\/p>\n<p>Kurulum s\u0131ras\u0131nda, MySQL <code>root<\/code> kullan\u0131c\u0131s\u0131 i\u00e7in bir parola belirlemeniz istenebilir. G\u00fc\u00e7l\u00fc bir parola belirledi\u011finizden ve g\u00fcvenli bir yerde saklad\u0131\u011f\u0131n\u0131zdan emin olun.<\/p>\n<p>Kurulum tamamland\u0131ktan sonra, MySQL servisi otomatik olarak ba\u015flayabilir. Galera yap\u0131land\u0131rmas\u0131na ge\u00e7meden \u00f6nce, servisi durdurmam\u0131z gerekmektedir, \u00e7\u00fcnk\u00fc mevcut yap\u0131land\u0131rma Galera i\u00e7in uygun olmayacakt\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo systemctl stop mysql<\/code><\/pre>\n<p>veya eski init sistemlerinde:<\/p>\n<pre><code class=\"language-bash\">sudo service mysql stop<\/code><\/pre>\n<p>MySQL servisi durdurulduktan sonra, Galera Cluster i\u00e7in \u00f6zel yap\u0131land\u0131rmalar\u0131 yapmaya haz\u0131r\u0131z.<\/p>\n<h3>Ad\u0131m 4: MySQL Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Galera Cluster&#8217;\u0131n d\u00fczg\u00fcn \u00e7al\u0131\u015fabilmesi i\u00e7in MySQL yap\u0131land\u0131rma dosyas\u0131nda (my.cnf) baz\u0131 \u00f6zel ayarlar\u0131n yap\u0131lmas\u0131 gerekmektedir. Bu ayarlar, Galera replikasyon motorunu etkinle\u015ftirir, k\u00fcme \u00fcyelerini tan\u0131mlar ve replikasyon davran\u0131\u015f\u0131n\u0131 kontrol eder.<\/p>\n<p>Yap\u0131land\u0131rma dosyas\u0131 genellikle <code>\/etc\/mysql\/my.cnf<\/code> veya <code>\/etc\/mysql\/mysql.conf.d\/mysqld.cnf<\/code> konumunda bulunur. Galera&#8217;ya \u00f6zel ayarlar\u0131 ayr\u0131 bir dosyada tutmak daha d\u00fczenli bir yakla\u015f\u0131m olabilir. Bunun i\u00e7in <code>\/etc\/mysql\/conf.d\/galera.cnf<\/code> ad\u0131nda yeni bir dosya olu\u015fturabiliriz.<\/p>\n<p>T\u00fcm d\u00fc\u011f\u00fcmlerde <code>\/etc\/mysql\/conf.d\/galera.cnf<\/code> dosyas\u0131n\u0131 olu\u015fturun veya mevcut <code>my.cnf<\/code> dosyan\u0131z\u0131 d\u00fczenleyin ve a\u015fa\u011f\u0131daki i\u00e7eri\u011fi ekleyin. Her d\u00fc\u011f\u00fcm i\u00e7in <code>wsrep_node_name<\/code> ve <code>wsrep_node_address<\/code> parametrelerini kendi IP adresi ve ad\u0131yla g\u00fcncellemeyi unutmay\u0131n.<\/p>\n<pre><code class=\"language-ini\"># \/etc\/mysql\/conf.d\/galera.cnf\n\n[mysqld]\n<h2>Genel MySQL Ayarlar\u0131<\/h2>\ndatadir=\/var\/lib\/mysql\nsocket=\/var\/run\/mysqld\/mysqld.sock\nlog-error=\/var\/log\/mysql\/error.log\npid-file=\/var\/run\/mysqld\/mysqld.pid\n\n<h2>InnoDB Ayarlar\u0131 (Galera i\u00e7in kritik)<\/h2>\ndefault_storage_engine=InnoDB\ninnodb_autoinc_lock_mode=2 # Galera i\u00e7in \u00f6nerilir\ninnodb_flush_log_at_trx_commit=0 # Performans i\u00e7in (veri kayb\u0131 riski ile)\ninnodb_buffer_pool_size=1G # Sunucunun RAM'ine g\u00f6re ayarlanmal\u0131\nquery_cache_size=0 # Galera ile uyumsuzluk nedeniyle kapat\u0131lmal\u0131\nquery_cache_type=0\n\n<h2>Ba\u011flant\u0131 Ayarlar\u0131<\/h2>\nbind-address=0.0.0.0 # T\u00fcm a\u011f aray\u00fczlerinden ba\u011flant\u0131ya izin verir\n<h2>Veya belirli bir IP adresi: bind-address=192.168.1.101<\/h2>\n\n<h2>Replikasyon Ayarlar\u0131<\/h2>\nbinlog_format=ROW # Galera i\u00e7in zorunlu\nlog_bin=mysql-bin # Binary log'lar\u0131 etkinle\u015ftir (iste\u011fe ba\u011fl\u0131 ama iyi bir uygulama)\nserver_id=1 # Her d\u00fc\u011f\u00fcm i\u00e7in benzersiz olmal\u0131 (1, 2, 3 vb.)\n\n<h2>Galera Cluster Ayarlar\u0131<\/h2>\nwsrep_on=ON\nwsrep_provider=\/usr\/lib\/galera-3\/libgalera_smm.so # Galera k\u00fct\u00fcphanesinin yolu\n\n<h2>K\u00fcme \u00dcyelerini Belirleme (T\u00fcm d\u00fc\u011f\u00fcmlerin IP adresleri)<\/h2>\n<h2>Bu liste, bir d\u00fc\u011f\u00fcm\u00fcn k\u00fcme \u00fcyelerini bulmas\u0131n\u0131 sa\u011flar.<\/h2>\n<h2>\u0130lk d\u00fc\u011f\u00fcm i\u00e7in \"gcomm:\/\/\" bo\u015f b\u0131rak\u0131labilir veya sadece kendi IP'si olabilir.<\/h2>\nwsrep_cluster_address=\"gcomm:\/\/192.168.1.101,192.168.1.102,192.168.1.103\"\n\n<h2>K\u00fcme Ad\u0131 (T\u00fcm d\u00fc\u011f\u00fcmler ayn\u0131 olmal\u0131)<\/h2>\nwsrep_cluster_name=\"my_galera_cluster\"\n\n<h2>D\u00fc\u011f\u00fcm Ad\u0131 ve Adresi (Her d\u00fc\u011f\u00fcm i\u00e7in benzersiz olmal\u0131)<\/h2>\nwsrep_node_name=\"node1\" # \u00d6rne\u011fin: node1, node2, node3\nwsrep_node_address=\"192.168.1.101\" # D\u00fc\u011f\u00fcm\u00fcn kendi IP adresi\n\n<h2>Durum Aktar\u0131m\u0131 (State Snapshot Transfer - SST) Ayarlar\u0131<\/h2>\n<h2>Yeni bir d\u00fc\u011f\u00fcm k\u00fcmeye kat\u0131ld\u0131\u011f\u0131nda veya bir d\u00fc\u011f\u00fcm yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda<\/h2>\n<h2>verilerin senkronize edilmesi i\u00e7in kullan\u0131l\u0131r.<\/h2>\nwsrep_sst_method=rsync # xtrabackup-v2 daha h\u0131zl\u0131 ve g\u00fcvenilir olabilir, ancak Percona XtraBackup gerektirir.\nwsrep_sst_auth=\"sst_user:sst_password\" # SST i\u00e7in kullan\u0131lacak kullan\u0131c\u0131 ad\u0131 ve parola\n\n<h2>Olas\u0131 ek ayarlar (performans veya g\u00fcvenlik i\u00e7in)<\/h2>\n<h2>wsrep_slave_threads=4 # \u00c7o\u011faltma i\u00e7in kullan\u0131lacak i\u015f par\u00e7ac\u0131\u011f\u0131 say\u0131s\u0131 (CPU \u00e7ekirdek say\u0131s\u0131na g\u00f6re ayarlanmal\u0131)<\/h2>\n<h2>wsrep_provider_options=\"pc.recovery=TRUE; gcache.size=128M\"<\/code><\/pre>\n<\/h2>\n<p><strong>Parametre A\u00e7\u0131klamalar\u0131:<\/strong><\/p>\n<p>*   <code>datadir<\/code>, <code>socket<\/code>, <code>log-error<\/code>, <code>pid-file<\/code>: MySQL&#8217;in standart dosya yollar\u0131.<br \/>\n*   <code>default_storage_engine=InnoDB<\/code>: Galera sadece InnoDB depolama motorunu destekler.<br \/>\n*   <code>innodb_autoinc_lock_mode=2<\/code>: Otomatik artan (auto-increment) de\u011ferlerin Galera&#8217;da do\u011fru \u00e7al\u0131\u015fmas\u0131 i\u00e7in gereklidir.<br \/>\n*   <code>query_cache_size=0<\/code>, <code>query_cache_type=0<\/code>: Sorgu \u00f6nbelle\u011fi Galera ile uyumlu de\u011fildir ve kapat\u0131lmal\u0131d\u0131r.<br \/>\n*   <code>bind-address=0.0.0.0<\/code>: MySQL&#8217;in t\u00fcm a\u011f aray\u00fczlerinden ba\u011flant\u0131lar\u0131 kabul etmesini sa\u011flar. G\u00fcvenlik a\u00e7\u0131s\u0131ndan belirli bir IP adresine ba\u011flamak daha iyi olabilir.<br \/>\n*   <code>binlog_format=ROW<\/code>: Galera i\u00e7in zorunlu olan sat\u0131r tabanl\u0131 binary log format\u0131.<br \/>\n*   <code>server_id<\/code>: Her MySQL sunucusunun benzersiz bir kimli\u011fi olmal\u0131d\u0131r.<br \/>\n*   <code>wsrep_on=ON<\/code>: Galera replikasyonunu etkinle\u015ftirir.<br \/>\n*   <code>wsrep_provider<\/code>: Galera k\u00fct\u00fcphanesinin tam yolu. Ubuntu 16.04 ve Galera 3 i\u00e7in bu yol <code>\/usr\/lib\/galera-3\/libgalera_smm.so<\/code> olmal\u0131d\u0131r.<br \/>\n*   <code>wsrep_cluster_address<\/code>: K\u00fcmedeki di\u011fer d\u00fc\u011f\u00fcmlerin IP adreslerini i\u00e7erir. Bir d\u00fc\u011f\u00fcm k\u00fcmeye kat\u0131ld\u0131\u011f\u0131nda, bu adresleri kullanarak di\u011fer d\u00fc\u011f\u00fcmleri bulmaya \u00e7al\u0131\u015f\u0131r. \u0130lk d\u00fc\u011f\u00fcm ba\u015flat\u0131l\u0131rken bu parametre bo\u015f b\u0131rak\u0131labilir (<code>gcomm:\/\/<\/code>) veya sadece kendi IP&#8217;si olabilir. Ancak, sonraki d\u00fc\u011f\u00fcmlerin ilk d\u00fc\u011f\u00fcm\u00fc bulabilmesi i\u00e7in bu parametrenin dolu olmas\u0131 \u00f6nemlidir.<br \/>\n*   <code>wsrep_cluster_name<\/code>: K\u00fcmenin ad\u0131. T\u00fcm d\u00fc\u011f\u00fcmlerde ayn\u0131 olmal\u0131d\u0131r.<br \/>\n*   <code>wsrep_node_name<\/code>: D\u00fc\u011f\u00fcm\u00fcn benzersiz ad\u0131.<br \/>\n*   <code>wsrep_node_address<\/code>: D\u00fc\u011f\u00fcm\u00fcn kendi IP adresi.<br \/>\n*   <code>wsrep_sst_method<\/code>: Durum Aktar\u0131m\u0131 i\u00e7in kullan\u0131lacak y\u00f6ntem. <code>rsync<\/code> basit bir se\u00e7enektir, ancak b\u00fcy\u00fck veritabanlar\u0131 i\u00e7in <code>xtrabackup-v2<\/code> (Percona XtraBackup gerektirir) daha h\u0131zl\u0131 ve daha az kesintili olabilir. Bu rehberde <code>rsync<\/code> kullan\u0131lacakt\u0131r.<br \/>\n*   <code>wsrep_sst_auth<\/code>: SST i\u015flemi s\u0131ras\u0131nda kullan\u0131lacak kullan\u0131c\u0131 ad\u0131 ve parola. Bu kullan\u0131c\u0131y\u0131 bir sonraki ad\u0131mda olu\u015fturaca\u011f\u0131z.<\/p>\n<p>Bu yap\u0131land\u0131rma dosyas\u0131n\u0131 her d\u00fc\u011f\u00fcm i\u00e7in kendi IP adresleri ve d\u00fc\u011f\u00fcm adlar\u0131yla g\u00fcncelledikten sonra kaydedin.<\/p>\n<h3>Ad\u0131m 5: SST Kullan\u0131c\u0131s\u0131 Olu\u015fturma<\/h3>\n<p><code>wsrep_sst_method<\/code> parametresinde belirtilen <code>sst_user<\/code> kullan\u0131c\u0131s\u0131n\u0131 olu\u015fturmam\u0131z gerekmektedir. Bu kullan\u0131c\u0131, Durum Aktar\u0131m\u0131 (SST) s\u0131ras\u0131nda veritaban\u0131 i\u00e7eri\u011fini bir d\u00fc\u011f\u00fcmden di\u011ferine kopyalamak i\u00e7in kullan\u0131l\u0131r. Bu kullan\u0131c\u0131n\u0131n belirli ayr\u0131cal\u0131klara sahip olmas\u0131 gerekir.<\/p>\n<p>Bu kullan\u0131c\u0131y\u0131 olu\u015fturmak i\u00e7in, ilk d\u00fc\u011f\u00fcm\u00fc ge\u00e7ici olarak Galera k\u00fcmesi olmadan ba\u015flatmam\u0131z gerekecek. Alternatif olarak, k\u00fcme ilk kez ba\u015flat\u0131ld\u0131ktan sonra da olu\u015fturulabilir. En basit yol, ilk d\u00fc\u011f\u00fcm\u00fc ge\u00e7ici olarak normal MySQL olarak ba\u015flatmakt\u0131r.<\/p>\n<p><strong>Sadece ilk d\u00fc\u011f\u00fcmde (node1) a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 uygulay\u0131n:<\/strong><\/p>\n<p>1.  Ge\u00e7ici olarak <code>\/etc\/mysql\/conf.d\/galera.cnf<\/code> dosyas\u0131ndaki t\u00fcm <code>wsrep_<\/code> ile ba\u015flayan sat\u0131rlar\u0131 yorum sat\u0131r\u0131 yap\u0131n veya silin.<br \/>\n2.  MySQL servisini ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start mysql<\/code><\/pre>\n<p>3.  MySQL&#8217;e <code>root<\/code> olarak ba\u011flan\u0131n:<\/p>\n<pre><code class=\"language-bash\">mysql -u root -p<\/code><\/pre>\n<p>    Kurulum s\u0131ras\u0131nda belirledi\u011finiz <code>root<\/code> parolas\u0131n\u0131 girin.<br \/>\n4.  <code>sst_user<\/code> kullan\u0131c\u0131s\u0131n\u0131 olu\u015fturun ve gerekli ayr\u0131cal\u0131klar\u0131 verin:<\/p>\n<pre><code class=\"language-sql\">CREATE USER 'sst_user'@'localhost' IDENTIFIED BY 'sst_password';\n    GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON <em>.<\/em> TO 'sst_user'@'localhost';\n    FLUSH PRIVILEGES;\n    EXIT;<\/code><\/pre>\n<p>    <strong>\u00d6nemli:<\/strong> <code>sst_password<\/code> yerine g\u00fc\u00e7l\u00fc bir parola kullan\u0131n ve t\u00fcm d\u00fc\u011f\u00fcmlerdeki <code>galera.cnf<\/code> dosyas\u0131nda bu parolay\u0131 g\u00fcncelleyin.<br \/>\n5.  MySQL servisini durdurun:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl stop mysql<\/code><\/pre>\n<p>6.  <code>\/etc\/mysql\/conf.d\/galera.cnf<\/code> dosyas\u0131ndaki <code>wsrep_<\/code> ile ba\u015flayan sat\u0131rlar\u0131 tekrar etkinle\u015ftirin (yorum sat\u0131rlar\u0131n\u0131 kald\u0131r\u0131n).<\/p>\n<p>Bu kullan\u0131c\u0131, SST i\u015flemleri s\u0131ras\u0131nda veritaban\u0131n\u0131n kilitlenmesi, tablolar\u0131n kopyalanmas\u0131 ve replikasyon durumunun al\u0131nmas\u0131 i\u00e7in gereklidir. Ayr\u0131cal\u0131klar\u0131 dikkatli bir \u015fekilde verilmelidir, \u00e7\u00fcnk\u00fc bu kullan\u0131c\u0131 veritaban\u0131 i\u00e7eri\u011fine eri\u015febilir.<\/p>\n<h3>Ad\u0131m 6: Galera Cluster&#8217;\u0131 Ba\u015flatma<\/h3>\n<p>T\u00fcm d\u00fc\u011f\u00fcmlerde MySQL yap\u0131land\u0131rmas\u0131 ve SST kullan\u0131c\u0131s\u0131 haz\u0131r oldu\u011funa g\u00f6re, art\u0131k Galera Cluster&#8217;\u0131 ba\u015flatabiliriz. K\u00fcmenin ba\u015flat\u0131lmas\u0131, ilk d\u00fc\u011f\u00fcm\u00fcn &#8220;bootstrap&#8221; edilmesi ve di\u011fer d\u00fc\u011f\u00fcmlerin bu k\u00fcmeye kat\u0131lmas\u0131 \u015feklinde iki a\u015famal\u0131d\u0131r.<\/p>\n<h4>6.1. \u0130lk D\u00fc\u011f\u00fcm\u00fc Ba\u015flatma (Bootstrap)<\/h4>\n<p>Sadece <strong>ilk d\u00fc\u011f\u00fcmde (node1)<\/strong>, k\u00fcmenin ba\u015flang\u0131\u00e7 noktas\u0131n\u0131 olu\u015fturmak i\u00e7in \u00f6zel bir komutla MySQL servisini ba\u015flatman\u0131z gerekir. Bu, k\u00fcmenin ilk \u00fcyesini olu\u015fturur ve di\u011fer d\u00fc\u011f\u00fcmlerin kat\u0131labilece\u011fi bir &#8220;\u00e7ekirdek&#8221; sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">sudo galera_new_cluster<\/code><\/pre>\n<p>Veya baz\u0131 Galera paketlerinde a\u015fa\u011f\u0131daki komut kullan\u0131labilir:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start mysql@bootstrap<\/code><\/pre>\n<p>Veya daha d\u00fc\u015f\u00fck seviye bir komut:<\/p>\n<pre><code class=\"language-bash\">sudo mysqld --wsrep-new-cluster &<\/code><\/pre>\n<p><code>galera_new_cluster<\/code> komutu genellikle tercih edilir, \u00e7\u00fcnk\u00fc arka planda gerekli ad\u0131mlar\u0131 otomatik olarak halleder.<\/p>\n<p>Servisin durumunu kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status mysql<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da MySQL servisinin \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 ve herhangi bir hata olmad\u0131\u011f\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<p>\u0130lk d\u00fc\u011f\u00fcm ba\u015far\u0131yla ba\u015flat\u0131ld\u0131ktan sonra, MySQL&#8217;e ba\u011flanarak k\u00fcme durumunu kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">mysql -u root -p -e \"SHOW STATUS LIKE 'wsrep_cluster_size';\"<\/code><\/pre>\n<p><code>wsrep_cluster_size<\/code> de\u011feri <code>1<\/code> olmal\u0131d\u0131r, bu da k\u00fcmede \u015fu anda sadece bir d\u00fc\u011f\u00fcm oldu\u011funu g\u00f6sterir.<\/p>\n<h4>6.2. Di\u011fer D\u00fc\u011f\u00fcmleri K\u00fcmeye Katma<\/h4>\n<p>\u015eimdi di\u011fer d\u00fc\u011f\u00fcmleri (<code>node2<\/code> ve <code>node3<\/code>) k\u00fcmeye katabiliriz. Bu d\u00fc\u011f\u00fcmler, yap\u0131land\u0131rma dosyas\u0131ndaki <code>wsrep_cluster_address<\/code> parametresini kullanarak ilk d\u00fc\u011f\u00fcm\u00fc (veya zaten \u00e7al\u0131\u015fan di\u011fer d\u00fc\u011f\u00fcmleri) bulacak ve Durum Aktar\u0131m\u0131 (SST) i\u015flemi ile verileri senkronize edeceklerdir.<\/p>\n<p><strong>node2 ve node3 \u00fczerinde a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 uygulay\u0131n:<\/strong><\/p>\n<p>MySQL servisini ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start mysql<\/code><\/pre>\n<p>veya<\/p>\n<pre><code class=\"language-bash\">sudo service mysql start<\/code><\/pre>\n<p>Servisin ba\u015far\u0131yla ba\u015flad\u0131\u011f\u0131ndan emin olmak i\u00e7in loglar\u0131 kontrol etmek iyi bir fikirdir:<\/p>\n<pre><code class=\"language-bash\">tail -f \/var\/log\/mysql\/error.log<\/code><\/pre>\n<p>Bu log dosyas\u0131nda, d\u00fc\u011f\u00fcm\u00fcn k\u00fcmeye kat\u0131lmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131, SST i\u015fleminin ba\u015flad\u0131\u011f\u0131n\u0131 ve tamamland\u0131\u011f\u0131n\u0131 g\u00f6steren mesajlar g\u00f6rmelisiniz. <code>[Note] WSREP: Member 0 (node1) synced with group.<\/code> gibi mesajlar aray\u0131n.<\/p>\n<p>SST i\u015flemi, veritaban\u0131n\u0131n boyutuna ve a\u011f h\u0131z\u0131na ba\u011fl\u0131 olarak biraz zaman alabilir. \u0130\u015flem tamamland\u0131\u011f\u0131nda, d\u00fc\u011f\u00fcm k\u00fcmeye kat\u0131lm\u0131\u015f ve senkronize olmu\u015f olacakt\u0131r.<\/p>\n<h3>Ad\u0131m 7: Cluster Durumunu Kontrol Etme<\/h3>\n<p>T\u00fcm d\u00fc\u011f\u00fcmler ba\u015flat\u0131l\u0131p k\u00fcmeye kat\u0131ld\u0131ktan sonra, k\u00fcmenin genel durumunu ve her bir d\u00fc\u011f\u00fcm\u00fcn senkronizasyon durumunu kontrol etmek \u00f6nemlidir.<\/p>\n<p>Herhangi bir d\u00fc\u011f\u00fcmde MySQL&#8217;e ba\u011flanarak a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<p>1.  <strong>K\u00fcme Boyutunu Kontrol Etme:<\/strong><\/p>\n<pre><code class=\"language-bash\">mysql -u root -p -e \"SHOW STATUS LIKE 'wsrep_cluster_size';\"<\/code><\/pre>\n<p>    <code>wsrep_cluster_size<\/code> de\u011feri <code>3<\/code> olmal\u0131d\u0131r (e\u011fer \u00fc\u00e7 d\u00fc\u011f\u00fcm\u00fcn\u00fcz varsa). Bu, t\u00fcm d\u00fc\u011f\u00fcmlerin k\u00fcmeye ba\u015far\u0131yla kat\u0131ld\u0131\u011f\u0131n\u0131 g\u00f6sterir.<\/p>\n<p>2.  <strong>D\u00fc\u011f\u00fcm\u00fcn Senkronizasyon Durumunu Kontrol Etme:<\/strong><\/p>\n<pre><code class=\"language-bash\">mysql -u root -p -e \"SHOW STATUS LIKE 'wsrep_local_state_comment';\"<\/code><\/pre>\n<p>    Bu komutun \u00e7\u0131kt\u0131s\u0131 <code>Synced<\/code> olmal\u0131d\u0131r. Bu, d\u00fc\u011f\u00fcm\u00fcn k\u00fcmedeki di\u011fer t\u00fcm d\u00fc\u011f\u00fcmlerle tam olarak senkronize oldu\u011funu g\u00f6sterir. E\u011fer <code>Donor\/Desynced<\/code> veya ba\u015fka bir durum g\u00f6r\u00fcyorsan\u0131z, bir sorun olabilir ve loglar\u0131 kontrol etmeniz gerekir.<\/p>\n<p>3.  <strong>Replikasyonu Test Etme:<\/strong><br \/>\n    K\u00fcmenin multi-master \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in, bir d\u00fc\u011f\u00fcmde bir veritaban\u0131 ve tablo olu\u015fturup, di\u011fer d\u00fc\u011f\u00fcmlerde bu veritaban\u0131n\u0131n ve tablonun g\u00f6r\u00fcn\u00fcp g\u00f6r\u00fcnmedi\u011fini kontrol edebilirsiniz.<\/p>\n<p>    <strong>node1 \u00fczerinde:<\/strong><\/p>\n<pre><code class=\"language-bash\">mysql -u root -p\n    CREATE DATABASE test_galera;\n    USE test_galera;\n    CREATE TABLE my_table (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50));\n    INSERT INTO my_table (name) VALUES ('Test Data from Node1');\n    EXIT;<\/code><\/pre>\n<p>    <strong>node2 veya node3 \u00fczerinde:<\/strong><\/p>\n<pre><code class=\"language-bash\">mysql -u root -p\n    USE test_galera;\n    SELECT * FROM my_table;\n    EXIT;<\/code><\/pre>\n<p>    <code>Test Data from Node1<\/code> kayd\u0131n\u0131 g\u00f6rmelisiniz. Ayr\u0131ca, <code>node2<\/code> \u00fczerinde yeni bir kay\u0131t ekleyip <code>node1<\/code> \u00fczerinde kontrol edebilirsiniz:<\/p>\n<p>    <strong>node2 \u00fczerinde:<\/strong><\/p>\n<pre><code class=\"language-bash\">mysql -u root -p\n    USE test_galera;\n    INSERT INTO my_table (name) VALUES ('Test Data from Node2');\n    EXIT;<\/code><\/pre>\n<p>    <strong>node1 \u00fczerinde:<\/strong><\/p>\n<pre><code class=\"language-bash\">mysql -u root -p\n    USE test_galera;\n    SELECT * FROM my_table;\n    EXIT;<\/code><\/pre>\n<p>    Her iki kayd\u0131 da g\u00f6rmelisiniz. Bu, senkron replikasyonun ba\u015far\u0131yla \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6sterir.<\/p>\n<h3>Ad\u0131m 8: Y\u00fck Dengeleme (\u0130ste\u011fe Ba\u011fl\u0131 ama \u00d6nerilen)<\/h3>\n<p>Galera Cluster, \u00e7ok ana (multi-master) bir yap\u0131ya sahip oldu\u011fu i\u00e7in, k\u00fcmedeki t\u00fcm d\u00fc\u011f\u00fcmler okuma ve yazma i\u015flemleri i\u00e7in kullan\u0131labilir. Ancak, uygulamalar\u0131n do\u011frudan belirli bir d\u00fc\u011f\u00fcme ba\u011flanmas\u0131 yerine, gelen veritaban\u0131 isteklerini k\u00fcmedeki d\u00fc\u011f\u00fcmlere da\u011f\u0131tmak i\u00e7in bir y\u00fck dengeleyici kullanmak, y\u00fcksek eri\u015filebilirlik ve performans a\u00e7\u0131s\u0131ndan \u015fiddetle \u00f6nerilir.<\/p>\n<p>Pop\u00fcler y\u00fck dengeleme \u00e7\u00f6z\u00fcmleri \u015funlard\u0131r:<\/p>\n<p>*   <strong>HAProxy:<\/strong> TCP seviyesinde (Layer 4) \u00e7al\u0131\u015fan, y\u00fcksek performansl\u0131 bir y\u00fck dengeleyicidir. Gelen MySQL ba\u011flant\u0131lar\u0131n\u0131 k\u00fcmedeki sa\u011fl\u0131kl\u0131 d\u00fc\u011f\u00fcmlere y\u00f6nlendirebilir. HAProxy, d\u00fc\u011f\u00fcmlerin durumunu kontrol etmek i\u00e7in sa\u011fl\u0131k kontrolleri yapabilir ve yaln\u0131zca aktif olan d\u00fc\u011f\u00fcmlere trafik y\u00f6nlendirebilir.<br \/>\n*   <strong>MaxScale:<\/strong> MariaDB taraf\u0131ndan geli\u015ftirilen, veritaban\u0131na \u00f6zel bir proxy ve y\u00fck dengeleyicidir. MySQL protokol\u00fcn\u00fc anlar, okuma\/yazma ay\u0131rma (read\/write splitting) gibi geli\u015fmi\u015f \u00f6zellikler sunar ve Galera Cluster ile daha derin entegrasyon sa\u011flayabilir.<br \/>\n*   <strong>ProxySQL:<\/strong> Y\u00fcksek performansl\u0131, veritaban\u0131 protokol\u00fc fark\u0131nda bir proxy&#8217;dir. Geli\u015fmi\u015f y\u00f6nlendirme kurallar\u0131, \u00f6nbellekleme ve sorgu yeniden yazma gibi \u00f6zellikler sunar.<\/p>\n<p>Bir y\u00fck dengeleyici kullanmak, uygulaman\u0131z\u0131n tek bir veritaban\u0131 d\u00fc\u011f\u00fcm\u00fcn\u00fcn ar\u0131zalanmas\u0131ndan etkilenmemesini sa\u011flar. Y\u00fck dengeleyici, ar\u0131zal\u0131 d\u00fc\u011f\u00fcmleri otomatik olarak havuzdan \u00e7\u0131kar\u0131r ve trafi\u011fi kalan sa\u011fl\u0131kl\u0131 d\u00fc\u011f\u00fcmlere y\u00f6nlendirir. Bu, Galera Cluster&#8217;\u0131n sundu\u011fu y\u00fcksek eri\u015filebilirli\u011fi tam olarak kullanman\u0131z\u0131 sa\u011flar.<\/p>\n<p>Bu rehberin kapsam\u0131 d\u0131\u015f\u0131nda olsa da, \u00fcretim ortamlar\u0131nda Galera Cluster&#8217;\u0131 kullan\u0131rken bir y\u00fck dengeleyiciyi yap\u0131land\u0131rmay\u0131 ciddi \u015fekilde d\u00fc\u015f\u00fcnmelisiniz.<\/p>\n<h3>Sorun Giderme<\/h3>\n<p>Galera Cluster kurulumu s\u0131ras\u0131nda veya sonras\u0131nda kar\u015f\u0131la\u015fabilece\u011finiz baz\u0131 yayg\u0131n sorunlar ve \u00e7\u00f6z\u00fcmleri:<\/p>\n<p>*   <strong>Ba\u011flant\u0131 Sorunlar\u0131 (Can&#8217;t connect to MySQL server):<\/strong><br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> MySQL servisinin \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol edin (<code>sudo systemctl status mysql<\/code>). <code>bind-address<\/code> ayar\u0131n\u0131n do\u011fru oldu\u011fundan (\u00f6rne\u011fin <code>0.0.0.0<\/code> veya d\u00fc\u011f\u00fcm\u00fcn IP adresi) ve g\u00fcvenlik duvar\u0131n\u0131n 3306 portunu engellemedi\u011finden emin olun.<br \/>\n*   <strong>K\u00fcme Ba\u015flat\u0131lam\u0131yor veya D\u00fc\u011f\u00fcmler K\u00fcmeye Kat\u0131lam\u0131yor:<\/strong><br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n        *   MySQL hata loglar\u0131n\u0131 kontrol edin (<code>tail -f \/var\/log\/mysql\/error.log<\/code>). Galera&#8217;ya \u00f6zg\u00fc hatalar genellikle burada g\u00f6r\u00fcn\u00fcr.<br \/>\n        *   G\u00fcvenlik duvar\u0131 kurallar\u0131n\u0131 kontrol edin. Galera&#8217;n\u0131n kulland\u0131\u011f\u0131 4444, 4567, 4568 portlar\u0131n\u0131n a\u00e7\u0131k oldu\u011fundan emin olun.<br \/>\n        *   <code>wsrep_cluster_address<\/code> parametresinin t\u00fcm d\u00fc\u011f\u00fcmlerde do\u011fru IP adreslerini i\u00e7erdi\u011finden emin olun.<br \/>\n        *   <code>wsrep_node_name<\/code> ve <code>wsrep_node_address<\/code> parametrelerinin her d\u00fc\u011f\u00fcmde benzersiz ve do\u011fru oldu\u011fundan emin olun.<br \/>\n        *   <code>wsrep_provider<\/code> yolunun (<code>\/usr\/lib\/galera-3\/libgalera_smm.so<\/code>) do\u011fru oldu\u011fundan emin olun.<br \/>\n*   <strong>SST Hatas\u0131 (State Snapshot Transfer Failed):<\/strong><br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n        *   <code>wsrep_sst_auth<\/code> parametresinde belirtilen <code>sst_user<\/code> kullan\u0131c\u0131s\u0131n\u0131n olu\u015fturuldu\u011fundan ve do\u011fru ayr\u0131cal\u0131klara sahip oldu\u011fundan emin olun. Parolan\u0131n <code>galera.cnf<\/code> dosyas\u0131ndakiyle e\u015fle\u015fti\u011fini kontrol edin.<br \/>\n        *   <code>rsync<\/code> i\u00e7in, d\u00fc\u011f\u00fcmler aras\u0131nda SSH ba\u011flant\u0131s\u0131 kurabilen bir <code>rsync<\/code> kullan\u0131c\u0131s\u0131 da gerekebilir, ancak Galera&#8217;n\u0131n dahili <code>rsync<\/code> y\u00f6ntemi genellikle <code>sst_user<\/code> \u00fczerinden \u00e7al\u0131\u015f\u0131r.<br \/>\n        *   Kaynak d\u00fc\u011f\u00fcm\u00fcn (donor) sa\u011fl\u0131kl\u0131 ve senkronize oldu\u011fundan emin olun.<br \/>\n        *   D\u00fc\u011f\u00fcm\u00fcn disk alan\u0131n\u0131n yeterli oldu\u011fundan emin olun. SST, t\u00fcm veritaban\u0131n\u0131n bir kopyas\u0131n\u0131 gerektirir.<br \/>\n*   <strong>B\u00f6l\u00fcnm\u00fc\u015f Beyin (Split-Brain) Senaryolar\u0131:<\/strong><br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Bu, k\u00fcmenin farkl\u0131 b\u00f6l\u00fcmlerinin birbirinden ba\u011f\u0131ms\u0131z olarak \u00e7al\u0131\u015fmaya devam etmesi durumudur. Genellikle a\u011f kesintileri nedeniyle olu\u015fur. Galera&#8217;n\u0131n quorum mekanizmas\u0131 bunu \u00f6nlemeye \u00e7al\u0131\u015f\u0131r. Tek say\u0131da d\u00fc\u011f\u00fcm kullanmak (\u00f6rn. 3, 5) b\u00f6l\u00fcnm\u00fc\u015f beyin riskini azalt\u0131r. E\u011fer bir b\u00f6l\u00fcnm\u00fc\u015f beyin olu\u015ftuysa, k\u00fcmenin bir k\u0131sm\u0131n\u0131 durdurup, \u00e7o\u011funlu\u011fa sahip olan k\u0131sm\u0131 tekrar ba\u015flatarak k\u00fcme b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc sa\u011flaman\u0131z gerekebilir.<br \/>\n*   <strong>Y\u00fcksek CPU veya Disk Kullan\u0131m\u0131:<\/strong><br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> <code>innodb_buffer_pool_size<\/code> gibi InnoDB ayarlar\u0131n\u0131 sunucunuzun kaynaklar\u0131na g\u00f6re optimize edin. <code>wsrep_slave_threads<\/code> parametresini CPU \u00e7ekirdek say\u0131n\u0131za g\u00f6re ayarlayarak replikasyon performans\u0131n\u0131 art\u0131rabilirsiniz.<\/p>\n<p>Sorun giderme s\u00fcrecinde, sab\u0131rl\u0131 olmak ve log dosyalar\u0131n\u0131 dikkatlice incelemek \u00e7ok \u00f6nemlidir.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu kapsaml\u0131 rehberde, MySQL 5.6&#8217;y\u0131 Ubuntu 16.04 i\u015fletim sistemi \u00fczerinde Galera Cluster ile nas\u0131l yap\u0131land\u0131raca\u011f\u0131m\u0131z\u0131 ad\u0131m ad\u0131m inceledik. Y\u00fcksek eri\u015filebilirlik ve veri tutarl\u0131l\u0131\u011f\u0131 sa\u011flayan bu multi-master senkron replikasyon \u00e7\u00f6z\u00fcm\u00fc, kritik veritaban\u0131 hizmetleri i\u00e7in g\u00fc\u00e7l\u00fc bir temel sunar.<\/p>\n<p>Kurulum s\u00fcrecimiz, sistemin g\u00fcncellenmesi ve gerekli paketlerin y\u00fcklenmesiyle ba\u015flad\u0131. Ard\u0131ndan, Codership&#8217;\u0131n \u00f6zel depolar\u0131n\u0131 ekleyerek MySQL 5.6&#8217;n\u0131n WSREP yamal\u0131 s\u00fcr\u00fcm\u00fcn\u00fc ve Galera k\u00fct\u00fcphanelerini kurduk. MySQL yap\u0131land\u0131rma dosyas\u0131nda Galera&#8217;ya \u00f6zel parametreleri ayarlad\u0131k ve Durum Aktar\u0131m\u0131 (SST) i\u00e7in gerekli olan <code>sst_user<\/code> kullan\u0131c\u0131s\u0131n\u0131 olu\u015fturduk. Son olarak, k\u00fcmenin ilk d\u00fc\u011f\u00fcm\u00fcn\u00fc bootstrap ederek ve di\u011fer d\u00fc\u011f\u00fcmleri k\u00fcmeye kat\u0131p senkronizasyon durumlar\u0131n\u0131 kontrol ederek kurulumu tamamlad\u0131k.<\/p>\n<p>Galera Cluster&#8217;\u0131n sundu\u011fu ba\u015fl\u0131ca avantajlar \u015funlard\u0131r:<\/p>\n<p>*   <strong>Y\u00fcksek Eri\u015filebilirlik:<\/strong> Bir d\u00fc\u011f\u00fcm\u00fcn ar\u0131zalanmas\u0131 durumunda bile hizmet kesintisi ya\u015fanmaz, \u00e7\u00fcnk\u00fc di\u011fer d\u00fc\u011f\u00fcmler \u00e7al\u0131\u015fmaya devam eder.<br \/>\n*   <strong>S\u0131f\u0131r Veri Kayb\u0131:<\/strong> Senkron replikasyon sayesinde, bir i\u015flem t\u00fcm d\u00fc\u011f\u00fcmlerde onaylanmadan tamamlanmaz, bu da veri tutarl\u0131l\u0131\u011f\u0131n\u0131 ve kayb\u0131n\u0131 \u00f6nler.<br \/>\n*   <strong>\u00c7ok Ana (Multi-Master):<\/strong> T\u00fcm d\u00fc\u011f\u00fcmler aktif olarak okuma ve yazma i\u015flemlerini kabul edebilir, bu da y\u00fck dengeleme ve \u00f6l\u00e7eklenebilirlik potansiyeli sunar.<br \/>\n*   <strong>Otomatik D\u00fc\u011f\u00fcm Temini:<\/strong> Yeni bir d\u00fc\u011f\u00fcm k\u00fcmeye kat\u0131ld\u0131\u011f\u0131nda veya ar\u0131zal\u0131 bir d\u00fc\u011f\u00fcm geri geldi\u011finde, otomatik olarak di\u011fer d\u00fc\u011f\u00fcmlerden veri al\u0131r (SST).<\/p>\n<p>\u00dcretim ortamlar\u0131nda Galera Cluster&#8217;\u0131 kullan\u0131rken, bu rehberdeki ad\u0131mlar\u0131 dikkatlice uygulaman\u0131n yan\u0131 s\u0131ra, performans optimizasyonu, izleme, yedekleme stratejileri ve bir y\u00fck dengeleyici (HAProxy, MaxScale vb.) entegrasyonu gibi ek konular\u0131 da g\u00f6z \u00f6n\u00fcnde bulundurmak \u00f6nemlidir. D\u00fczenli bak\u0131m, g\u00fcvenlik g\u00fcncellemeleri ve proaktif sorun giderme, Galera Cluster&#8217;\u0131n\u0131z\u0131n uzun vadede sa\u011fl\u0131kl\u0131 ve verimli \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flayacakt\u0131r. Bu rehber, Galera Cluster d\u00fcnyas\u0131na sa\u011flam bir ba\u015flang\u0131\u00e7 yapman\u0131z i\u00e7in gerekli t\u00fcm bilgileri sunmaktad\u0131r.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Galera Cluster&#8217;\u0131 MySQL 5.6 ile Ubuntu 16.04 \u00dczerinde Yap\u0131land\u0131rma Rehberi\nGiri\u015f\nG\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla de\u011fi\u015fen dijital d\u00fcnyas\u0131nda, veritaban\u0131","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-38017","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>Galera Cluster&#039;\u0131 MySQL 5.6 ile Ubuntu 16.04 \u00dczerinde Yap\u0131land\u0131rma Rehberi - 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\/galera-clusteri-mysql-5-6-ile-ubuntu-16-04-uzerinde-yapilandirma-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Galera Cluster&#039;\u0131 MySQL 5.6 ile Ubuntu 16.04 \u00dczerinde Yap\u0131land\u0131rma Rehberi\" \/>\n<meta property=\"og:description\" content=\"Galera Cluster&#039;\u0131 MySQL 5.6 ile Ubuntu 16.04 \u00dczerinde Yap\u0131land\u0131rma Rehberi Giri\u015f G\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla de\u011fi\u015fen dijital d\u00fcnyas\u0131nda, veritaban\u0131\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/galera-clusteri-mysql-5-6-ile-ubuntu-16-04-uzerinde-yapilandirma-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-21T11:41:00+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=\"21 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/galera-clusteri-mysql-5-6-ile-ubuntu-16-04-uzerinde-yapilandirma-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/galera-clusteri-mysql-5-6-ile-ubuntu-16-04-uzerinde-yapilandirma-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Galera Cluster&#8217;\u0131 MySQL 5.6 ile Ubuntu 16.04 \u00dczerinde Yap\u0131land\u0131rma Rehberi\",\"datePublished\":\"2026-01-21T11:41:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/galera-clusteri-mysql-5-6-ile-ubuntu-16-04-uzerinde-yapilandirma-rehberi\/\"},\"wordCount\":3340,\"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\/galera-clusteri-mysql-5-6-ile-ubuntu-16-04-uzerinde-yapilandirma-rehberi\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/galera-clusteri-mysql-5-6-ile-ubuntu-16-04-uzerinde-yapilandirma-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/galera-clusteri-mysql-5-6-ile-ubuntu-16-04-uzerinde-yapilandirma-rehberi\/\",\"name\":\"Galera Cluster'\u0131 MySQL 5.6 ile Ubuntu 16.04 \u00dczerinde Yap\u0131land\u0131rma Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-21T11:41:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/galera-clusteri-mysql-5-6-ile-ubuntu-16-04-uzerinde-yapilandirma-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/galera-clusteri-mysql-5-6-ile-ubuntu-16-04-uzerinde-yapilandirma-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/galera-clusteri-mysql-5-6-ile-ubuntu-16-04-uzerinde-yapilandirma-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Galera Cluster&#8217;\u0131 MySQL 5.6 ile Ubuntu 16.04 \u00dczerinde Yap\u0131land\u0131rma Rehberi\"}]},{\"@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":"Galera Cluster'\u0131 MySQL 5.6 ile Ubuntu 16.04 \u00dczerinde Yap\u0131land\u0131rma Rehberi - 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\/galera-clusteri-mysql-5-6-ile-ubuntu-16-04-uzerinde-yapilandirma-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"Galera Cluster'\u0131 MySQL 5.6 ile Ubuntu 16.04 \u00dczerinde Yap\u0131land\u0131rma Rehberi","og_description":"Galera Cluster'\u0131 MySQL 5.6 ile Ubuntu 16.04 \u00dczerinde Yap\u0131land\u0131rma Rehberi Giri\u015f G\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla de\u011fi\u015fen dijital d\u00fcnyas\u0131nda, veritaban\u0131","og_url":"https:\/\/fatihsoysal.com\/blog\/galera-clusteri-mysql-5-6-ile-ubuntu-16-04-uzerinde-yapilandirma-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-21T11:41:00+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"21 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/galera-clusteri-mysql-5-6-ile-ubuntu-16-04-uzerinde-yapilandirma-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/galera-clusteri-mysql-5-6-ile-ubuntu-16-04-uzerinde-yapilandirma-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Galera Cluster&#8217;\u0131 MySQL 5.6 ile Ubuntu 16.04 \u00dczerinde Yap\u0131land\u0131rma Rehberi","datePublished":"2026-01-21T11:41:00+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/galera-clusteri-mysql-5-6-ile-ubuntu-16-04-uzerinde-yapilandirma-rehberi\/"},"wordCount":3340,"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\/galera-clusteri-mysql-5-6-ile-ubuntu-16-04-uzerinde-yapilandirma-rehberi\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/galera-clusteri-mysql-5-6-ile-ubuntu-16-04-uzerinde-yapilandirma-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/galera-clusteri-mysql-5-6-ile-ubuntu-16-04-uzerinde-yapilandirma-rehberi\/","name":"Galera Cluster'\u0131 MySQL 5.6 ile Ubuntu 16.04 \u00dczerinde Yap\u0131land\u0131rma Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-21T11:41:00+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/galera-clusteri-mysql-5-6-ile-ubuntu-16-04-uzerinde-yapilandirma-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/galera-clusteri-mysql-5-6-ile-ubuntu-16-04-uzerinde-yapilandirma-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/galera-clusteri-mysql-5-6-ile-ubuntu-16-04-uzerinde-yapilandirma-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Galera Cluster&#8217;\u0131 MySQL 5.6 ile Ubuntu 16.04 \u00dczerinde Yap\u0131land\u0131rma Rehberi"}]},{"@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\/38017","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=38017"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38017\/revisions"}],"predecessor-version":[{"id":38018,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38017\/revisions\/38018"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=38017"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=38017"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=38017"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}