{"id":35642,"date":"2025-12-02T05:40:49","date_gmt":"2025-12-02T02:40:49","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=35642"},"modified":"2025-12-02T05:40:49","modified_gmt":"2025-12-02T02:40:49","slug":"ubuntu-16-04-uzerine-mysql-kurulumu-kapsamli-bir-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-mysql-kurulumu-kapsamli-bir-rehber\/","title":{"rendered":"Ubuntu 16.04 \u00dczerine MySQL Kurulumu: Kapsaml\u0131 Bir Rehber"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu 16.04 \u00dczerine MySQL Kurulumu: Kapsaml\u0131 Bir Rehber<\/h2>\n<h3>Giri\u015f<\/h3>\n<p>Veritabanlar\u0131, modern uygulamalar\u0131n ve web sitelerinin temelini olu\u015fturur. Bilgilerin depolanmas\u0131, d\u00fczenlenmesi ve eri\u015filebilir k\u0131l\u0131nmas\u0131 i\u00e7in kritik \u00f6neme sahiptirler. Bu veritaban\u0131 y\u00f6netim sistemleri aras\u0131nda MySQL, a\u00e7\u0131k kaynak kodlu yap\u0131s\u0131, performans\u0131 ve geni\u015f topluluk deste\u011fi sayesinde d\u00fcnya genelinde en pop\u00fcler se\u00e7eneklerden biridir. Web sunucular\u0131ndan kurumsal uygulamalara kadar geni\u015f bir yelpazede kullan\u0131lan MySQL, \u00f6zellikle LAMP (Linux, Apache, MySQL, PHP) veya LEMP (Linux, Nginx, MySQL, PHP) y\u0131\u011f\u0131nlar\u0131n\u0131n vazge\u00e7ilmez bir bile\u015fenidir.<\/p>\n<p>Ubuntu, Linux tabanl\u0131 i\u015fletim sistemleri aras\u0131nda kullan\u0131c\u0131 dostu aray\u00fcz\u00fc ve g\u00fc\u00e7l\u00fc paket y\u00f6netim sistemi (APT) ile \u00f6ne \u00e7\u0131kan bir da\u011f\u0131t\u0131md\u0131r. Bu rehberde, Ubuntu&#8217;nun nispeten eski ancak hala belirli senaryolarda kullan\u0131lmakta olan 16.04 s\u00fcr\u00fcm\u00fc (Xenial Xerus) \u00fczerine MySQL veritaban\u0131 sunucusunun nas\u0131l kurulaca\u011f\u0131n\u0131 ad\u0131m ad\u0131m ve detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. Bu s\u00fcr\u00fcm\u00fcn art\u0131k resmi g\u00fcvenlik g\u00fcncellemeleri almad\u0131\u011f\u0131n\u0131 ve yeni projeler i\u00e7in daha g\u00fcncel Ubuntu s\u00fcr\u00fcmlerinin tercih edilmesi gerekti\u011fini belirtmek \u00f6nemlidir. Ancak mevcut bir Ubuntu 16.04 sisteminde MySQL&#8217;e ihtiya\u00e7 duyanlar veya bu spesifik kurulum s\u00fcrecini \u00f6\u011frenmek isteyenler i\u00e7in bu rehber olduk\u00e7a faydal\u0131 olacakt\u0131r.<\/p>\n<p>Bu makale, MySQL&#8217;in temel kurulumundan g\u00fcvenlik yap\u0131land\u0131rmas\u0131na, kullan\u0131c\u0131 ve veritaban\u0131 y\u00f6netimine, s\u0131k kar\u015f\u0131la\u015f\u0131lan sorunlara ve hatta kald\u0131rma i\u015flemlerine kadar geni\u015f bir yelpazeyi kapsayacakt\u0131r. Amac\u0131m\u0131z, okuyucunun Ubuntu 16.04 \u00fczerinde tam i\u015flevsel ve g\u00fcvenli bir MySQL ortam\u0131 kurabilmesi i\u00e7in gerekli t\u00fcm bilgileri sa\u011flamakt\u0131r.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>MySQL kurulumuna ba\u015flamadan \u00f6nce, sorunsuz bir s\u00fcre\u00e7 i\u00e7in baz\u0131 \u00f6n gereksinimlerin kar\u015f\u0131land\u0131\u011f\u0131ndan emin olmal\u0131y\u0131z. Bu gereksinimler, kurulumun ba\u015far\u0131l\u0131 bir \u015fekilde tamamlanmas\u0131 ve MySQL sunucusunun beklendi\u011fi gibi \u00e7al\u0131\u015fmas\u0131 i\u00e7in temel te\u015fkil eder.<\/p>\n<h4>Ubuntu 16.04 \u0130\u015fletim Sistemi<\/h4>\n<p>Bu rehber, \u00f6zel olarak Ubuntu 16.04 (Xenial Xerus) i\u00e7in haz\u0131rlanm\u0131\u015ft\u0131r. Sunucunuzda veya sanal makinenizde bu i\u015fletim sisteminin kurulu ve \u00e7al\u0131\u015f\u0131r durumda olmas\u0131 gerekmektedir. Farkl\u0131 Ubuntu s\u00fcr\u00fcmleri veya di\u011fer Linux da\u011f\u0131t\u0131mlar\u0131 i\u00e7in ad\u0131mlar benzer olsa da, paket isimleri veya yap\u0131land\u0131rma detaylar\u0131 farkl\u0131l\u0131k g\u00f6sterebilir.<\/p>\n<h4>Sudo Yetkisine Sahip Bir Kullan\u0131c\u0131<\/h4>\n<p>Kurulum ve yap\u0131land\u0131rma i\u015flemleri, sistem d\u00fczeyinde de\u011fi\u015fiklikler yapmay\u0131 gerektirecektir. Bu nedenle, <code>sudo<\/code> komutunu kullanarak root ayr\u0131cal\u0131klar\u0131na sahip olabilecek bir kullan\u0131c\u0131 hesab\u0131na ihtiyac\u0131n\u0131z vard\u0131r. Genellikle, Ubuntu kurulumu s\u0131ras\u0131nda olu\u015fturulan ilk kullan\u0131c\u0131 hesab\u0131 bu yetkiye sahiptir. Root kullan\u0131c\u0131s\u0131 ile do\u011frudan i\u015flem yapmak yerine <code>sudo<\/code> kullan\u0131lmas\u0131, g\u00fcvenlik a\u00e7\u0131s\u0131ndan daha iyi bir yakla\u015f\u0131md\u0131r.<\/p>\n<h4>\u0130nternet Ba\u011flant\u0131s\u0131<\/h4>\n<p>MySQL paketlerini Ubuntu depolar\u0131ndan indirmek i\u00e7in aktif bir internet ba\u011flant\u0131s\u0131 zorunludur. Kurulum s\u00fcreci boyunca sunucunuzun internete eri\u015febildi\u011finden emin olun.<\/p>\n<h4>Temel Linux Bilgisi<\/h4>\n<p>Komut sat\u0131r\u0131 aray\u00fcz\u00fc (CLI) kullan\u0131m\u0131, temel Linux komutlar\u0131 (\u00f6rne\u011fin, <code>ls<\/code>, <code>cd<\/code>, <code>cat<\/code>, <code>nano<\/code> veya <code>vi<\/code> gibi metin d\u00fczenleyicileri) ve dosya izinleri hakk\u0131nda temel bilgiye sahip olmak, kurulum ve yap\u0131land\u0131rma s\u0131ras\u0131nda kar\u015f\u0131la\u015fabilece\u011finiz durumlar\u0131 daha kolay y\u00f6netmenize yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<p>Bu \u00f6n gereksinimler kar\u015f\u0131land\u0131\u011f\u0131nda, MySQL kurulumuna ge\u00e7meye haz\u0131r\u0131z.<\/p>\n<h3>Sistem G\u00fcncellemesi<\/h3>\n<p>Herhangi bir yeni yaz\u0131l\u0131m kurulumuna ba\u015flamadan \u00f6nce, Ubuntu sisteminizin g\u00fcncel oldu\u011fundan emin olmak en iyi uygulamalardan biridir. Sistem g\u00fcncellemeleri, mevcut paketlerin en son s\u00fcr\u00fcmlerini y\u00fckler, g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 kapat\u0131r ve olas\u0131 ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131n\u0131 \u00f6nler. Bu ad\u0131m, MySQL kurulum s\u00fcrecinin daha p\u00fcr\u00fczs\u00fcz ilerlemesini sa\u011flar.<\/p>\n<p>Terminalinizi a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutlar\u0131 s\u0131ras\u0131yla \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt update<\/code><\/pre>\n<p>Bu komut, sisteminizin paket listelerini g\u00fcnceller. Yani, Ubuntu depolar\u0131nda hangi paketlerin hangi s\u00fcr\u00fcmlerinin mevcut oldu\u011funu kontrol eder. Bu i\u015flem, yeni paketlerin veya mevcut paketlerin g\u00fcncel s\u00fcr\u00fcmlerinin ke\u015ffedilmesini sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">sudo apt upgrade -y<\/code><\/pre>\n<p><code>apt upgrade<\/code> komutu, <code>apt update<\/code> ile g\u00fcncellenen paket listelerine g\u00f6re, sisteminizde kurulu olan t\u00fcm paketleri en yeni s\u00fcr\u00fcmlerine y\u00fckseltir. <code>-y<\/code> bayra\u011f\u0131, komutun t\u00fcm sorulara otomatik olarak &#8220;evet&#8221; yan\u0131t\u0131 vermesini sa\u011flar, b\u00f6ylece y\u00fckseltme i\u015flemi kesintisiz devam eder. Bu i\u015flem biraz zaman alabilir, sisteminizin h\u0131z\u0131na ve g\u00fcncellenecek paket say\u0131s\u0131na ba\u011fl\u0131 olarak s\u00fcresi de\u011fi\u015fir.<\/p>\n<p>G\u00fcncelleme i\u015flemi tamamland\u0131ktan sonra, baz\u0131 durumlarda sistemin yeniden ba\u015flat\u0131lmas\u0131 gerekebilir. \u00d6zellikle \u00e7ekirdek (kernel) g\u00fcncellemeleri yap\u0131ld\u0131ysa, de\u011fi\u015fikliklerin tam olarak uygulanmas\u0131 i\u00e7in yeniden ba\u015flatma \u00f6nerilir.<\/p>\n<pre><code class=\"language-bash\">sudo reboot<\/code><\/pre>\n<p>Sistemi yeniden ba\u015flatt\u0131ktan sonra, tekrar giri\u015f yap\u0131n ve kuruluma devam etmeye haz\u0131r\u0131z. Bu ad\u0131mlar\u0131 tamamlamak, temiz ve g\u00fcncel bir temel \u00fczerine MySQL&#8217;i kurman\u0131z\u0131 sa\u011flayacakt\u0131r.<\/p>\n<h3>MySQL Kurulumu<\/h3>\n<p>Sistemimiz g\u00fcncel oldu\u011funa g\u00f6re, art\u0131k MySQL sunucusunu kurmaya ba\u015flayabiliriz. Ubuntu 16.04 depolar\u0131nda MySQL&#8217;in kararl\u0131 bir s\u00fcr\u00fcm\u00fc mevcuttur ve <code>apt<\/code> paket y\u00f6neticisi arac\u0131l\u0131\u011f\u0131yla kolayca kurulabilir.<\/p>\n<h4>MySQL Sunucu Paketi Kurulumu<\/h4>\n<p>MySQL sunucusunu ve ilgili istemci ara\u00e7lar\u0131n\u0131 kurmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullanaca\u011f\u0131z:<\/p>\n<pre><code class=\"language-bash\">sudo apt install mysql-server -y<\/code><\/pre>\n<p>Bu komut, <code>mysql-server<\/code> paketini kurar. Bu paket, MySQL sunucu yaz\u0131l\u0131m\u0131n\u0131, ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 ve baz\u0131 temel ara\u00e7lar\u0131 i\u00e7erir. <code>-y<\/code> bayra\u011f\u0131, kurulum s\u0131ras\u0131nda \u00e7\u0131kan onay sorular\u0131na otomatik olarak &#8220;evet&#8221; yan\u0131t\u0131 verir. Kurulum s\u00fcreci, internet ba\u011flant\u0131n\u0131z\u0131n h\u0131z\u0131na ve sisteminizin performans\u0131na ba\u011fl\u0131 olarak birka\u00e7 dakika s\u00fcrebilir.<\/p>\n<p>Kurulum tamamland\u0131\u011f\u0131nda, MySQL sunucusu otomatik olarak ba\u015flat\u0131lacak ve sistem a\u00e7\u0131l\u0131\u015f\u0131nda otomatik olarak \u00e7al\u0131\u015facak \u015fekilde yap\u0131land\u0131r\u0131lacakt\u0131r.<\/p>\n<h4>MySQL Servis Durumunun Kontrol\u00fc<\/h4>\n<p>Kurulumun ba\u015far\u0131l\u0131 olup olmad\u0131\u011f\u0131n\u0131 ve MySQL servisinin \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabiliriz:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status mysql<\/code><\/pre>\n<p>Bu komutun \u00e7\u0131kt\u0131s\u0131nda, MySQL servisinin durumu hakk\u0131nda bilgi g\u00f6receksiniz. Genellikle &#8220;active (running)&#8221; (aktif (\u00e7al\u0131\u015f\u0131yor)) ifadesini g\u00f6rmeniz, MySQL sunucusunun ba\u015far\u0131yla \u00e7al\u0131\u015ft\u0131\u011f\u0131 anlam\u0131na gelir.<\/p>\n<p>E\u011fer servis \u00e7al\u0131\u015fm\u0131yorsa veya bir hata mesaj\u0131 g\u00f6r\u00fcyorsan\u0131z, sorun giderme b\u00f6l\u00fcm\u00fcne bakman\u0131z gerekebilir. Ancak \u00e7o\u011fu durumda, kurulum bu a\u015famada sorunsuz tamamlan\u0131r.<\/p>\n<h4>MySQL G\u00fcvenlik Yap\u0131land\u0131rmas\u0131 (<code>mysql_secure_installation<\/code>)<\/h4>\n<p>MySQL kurulumunun en kritik ad\u0131mlar\u0131ndan biri g\u00fcvenlik yap\u0131land\u0131rmas\u0131d\u0131r. Varsay\u0131lan olarak, MySQL baz\u0131 g\u00fcvenlik a\u00e7\u0131klar\u0131yla gelebilir. <code>mysql_secure_installation<\/code> beti\u011fi, bu a\u00e7\u0131klar\u0131 kapatmak ve veritaban\u0131 sunucunuzu daha g\u00fcvenli hale getirmek i\u00e7in tasarlanm\u0131\u015ft\u0131r.<\/p>\n<p>A\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131rarak g\u00fcvenlik beti\u011fini ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo mysql_secure_installation<\/code><\/pre>\n<p>Bu betik size bir dizi soru soracakt\u0131r. Her bir soruyu dikkatlice okuyun ve ortam\u0131n\u0131za uygun yan\u0131tlar\u0131 verin:<\/p>\n<p>1.  <strong><code>VALIDATE PASSWORD PLUGIN<\/code><\/strong>: Bu eklenti, MySQL kullan\u0131c\u0131 parolalar\u0131n\u0131n g\u00fcc\u00fcn\u00fc kontrol etmenizi sa\u011flar. Parolalar\u0131n belirli bir karma\u015f\u0131kl\u0131k d\u00fczeyinde olmas\u0131n\u0131 zorunlu k\u0131lar.<br \/>\n    *   <code>Would you like to setup VALIDATE PASSWORD plugin? (Press y|Y for Yes, any other key for No):<\/code><br \/>\n    *   <code>y<\/code> yaz\u0131p Enter tu\u015funa basarsan\u0131z, parola g\u00fcc\u00fc seviyelerini se\u00e7meniz istenecektir (LOW, MEDIUM, STRONG). Genellikle <code>MEDIUM<\/code> veya <code>STRONG<\/code> tercih edilir. Bu eklentiyi etkinle\u015ftirmeyi se\u00e7erseniz, belirledi\u011finiz seviyeye uygun bir root parolas\u0131 olu\u015fturman\u0131z gerekecektir. E\u011fer <code>n<\/code> yaz\u0131p Enter tu\u015funa basarsan\u0131z, bu ad\u0131m\u0131 atlayabilirsiniz. G\u00fcvenlik i\u00e7in etkinle\u015ftirilmesi \u00f6nerilir.<\/p>\n<p>2.  <strong><code>Set root password? (Press y|Y for Yes, any other key for No):<\/code><\/strong><br \/>\n    *   <code>y<\/code> yaz\u0131p Enter tu\u015funa basarak root kullan\u0131c\u0131s\u0131 i\u00e7in yeni bir parola belirlemeniz \u015e\u0130DDETLE TAVS\u0130YE ED\u0130L\u0130R. G\u00fc\u00e7l\u00fc ve benzersiz bir parola se\u00e7ti\u011finizden emin olun. Bu parola, MySQL sunucusuna y\u00f6netici olarak eri\u015fim i\u00e7in kullan\u0131lacakt\u0131r. Parolay\u0131 iki kez girmeniz istenecektir.<\/p>\n<p>3.  <strong><code>Remove anonymous users? (Press y|Y for Yes, any other key for No):<\/code><\/strong><br \/>\n    *   Anonim kullan\u0131c\u0131lar, herkesin kullan\u0131c\u0131 ad\u0131 ve parola olmadan MySQL&#8217;e ba\u011flanmas\u0131na izin verir. Bu, test ortamlar\u0131 i\u00e7in uygun olabilir ancak \u00fcretim ortamlar\u0131 i\u00e7in b\u00fcy\u00fck bir g\u00fcvenlik riski olu\u015fturur. <code>y<\/code> yaz\u0131p Enter tu\u015funa basarak bunlar\u0131 kald\u0131rman\u0131z \u00f6nerilir.<\/p>\n<p>4.  <strong><code>Disallow root login remotely? (Press y|Y for Yes, any other key for No):<\/code><\/strong><br \/>\n    *   MySQL root kullan\u0131c\u0131s\u0131n\u0131n varsay\u0131lan olarak yaln\u0131zca <code>localhost<\/code>&#8216;tan ba\u011flanmas\u0131na izin verilir. Bu, uzaktan root eri\u015fimini engeller ve g\u00fcvenlik a\u00e7\u0131s\u0131ndan \u00e7ok \u00f6nemlidir. <code>y<\/code> yaz\u0131p Enter tu\u015funa basarak uzaktan root eri\u015fimini devre d\u0131\u015f\u0131 b\u0131rakman\u0131z \u00f6nerilir. Uzaktan eri\u015fime ihtiyac\u0131n\u0131z varsa, bunun i\u00e7in ayr\u0131 bir kullan\u0131c\u0131 olu\u015fturman\u0131z daha g\u00fcvenlidir.<\/p>\n<p>5.  <strong><code>Remove test database and access to it? (Press y|Y for Yes, any other key for No):<\/code><\/strong><br \/>\n    *   MySQL, varsay\u0131lan olarak &#8220;test&#8221; ad\u0131nda bir veritaban\u0131 ile gelir ve herkesin bu veritaban\u0131na eri\u015fmesine izin verir. Bu, g\u00fcvenlik a\u00e7\u0131\u011f\u0131 olu\u015fturabilir. <code>y<\/code> yaz\u0131p Enter tu\u015funa basarak test veritaban\u0131n\u0131 kald\u0131rman\u0131z \u00f6nerilir.<\/p>\n<p>6.  <strong><code>Reload privilege tables now? (Press y|Y for Yes, any other key for No):<\/code><\/strong><br \/>\n    *   \u00d6nceki de\u011fi\u015fikliklerin (kullan\u0131c\u0131 kald\u0131rma, yetki de\u011fi\u015fiklikleri vb.) hemen etkili olmas\u0131 i\u00e7in yetki tablolar\u0131n\u0131n yeniden y\u00fcklenmesi gerekir. <code>y<\/code> yaz\u0131p Enter tu\u015funa basarak bu i\u015flemi yapman\u0131z zorunludur.<\/p>\n<p>T\u00fcm bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra, MySQL sunucunuz daha g\u00fcvenli bir yap\u0131land\u0131rmaya sahip olacakt\u0131r. Art\u0131k MySQL&#8217;e ba\u011flanabilir ve veritabanlar\u0131 olu\u015fturmaya ba\u015flayabilirsiniz.<\/p>\n<h3>MySQL Kullan\u0131m\u0131 ve Temel Komutlar<\/h3>\n<p>MySQL sunucusu ba\u015far\u0131yla kuruldu ve g\u00fcvenli\u011fi yap\u0131land\u0131r\u0131ld\u0131. \u015eimdi, MySQL&#8217;e nas\u0131l ba\u011flan\u0131laca\u011f\u0131n\u0131 ve temel veritaban\u0131 i\u015flemlerinin nas\u0131l yap\u0131laca\u011f\u0131n\u0131 \u00f6\u011frenelim.<\/p>\n<h4>Root Kullan\u0131c\u0131s\u0131 ile MySQL&#8217;e Giri\u015f<\/h4>\n<p>MySQL&#8217;e komut sat\u0131r\u0131ndan root kullan\u0131c\u0131s\u0131 olarak ba\u011flanmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo mysql -u root -p<\/code><\/pre>\n<p>Bu komut, <code>mysql<\/code> istemcisini <code>root<\/code> kullan\u0131c\u0131s\u0131 olarak ba\u015flat\u0131r. <code>-p<\/code> bayra\u011f\u0131, sizden root parolas\u0131n\u0131 girmenizi isteyecektir. G\u00fcvenlik yap\u0131land\u0131rmas\u0131 s\u0131ras\u0131nda belirledi\u011finiz parolay\u0131 girin.<\/p>\n<p>Ba\u015far\u0131l\u0131 bir \u015fekilde giri\u015f yapt\u0131\u011f\u0131n\u0131zda, MySQL istemcisinin komut istemini g\u00f6receksiniz (<code>mysql><\/code>). Art\u0131k SQL komutlar\u0131 \u00e7al\u0131\u015ft\u0131rabilirsiniz.<\/p>\n<h4>Yeni Kullan\u0131c\u0131 Olu\u015fturma<\/h4>\n<p>Uygulamalar\u0131n\u0131z veya di\u011fer hizmetleriniz i\u00e7in MySQL root kullan\u0131c\u0131s\u0131n\u0131 do\u011frudan kullanmak iyi bir g\u00fcvenlik uygulamas\u0131 de\u011fildir. Bunun yerine, her uygulama veya hizmet i\u00e7in ayr\u0131, s\u0131n\u0131rl\u0131 yetkilere sahip kullan\u0131c\u0131lar olu\u015fturmak daha g\u00fcvenlidir.<\/p>\n<p>Yeni bir kullan\u0131c\u0131 olu\u015fturmak i\u00e7in MySQL istemcisinde a\u015fa\u011f\u0131daki SQL komutunu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-sql\">CREATE USER 'yeni_kullanici'@'localhost' IDENTIFIED BY 'guclu_parola';<\/code><\/pre>\n<p>*   <code>yeni_kullanici<\/code>: Olu\u015fturmak istedi\u011finiz kullan\u0131c\u0131n\u0131n ad\u0131.<br \/>\n*   <code>localhost<\/code>: Kullan\u0131c\u0131n\u0131n yaln\u0131zca yerel makineden (sunucunun kendisinden) ba\u011flanabilece\u011fini belirtir. E\u011fer kullan\u0131c\u0131n\u0131n belirli bir IP adresinden veya herhangi bir yerden (<code>%<\/code>) ba\u011flanmas\u0131na izin vermek istiyorsan\u0131z, <code>localhost<\/code> yerine o IP adresini veya <code>%<\/code> kullanabilirsiniz.<br \/>\n*   <code>guclu_parola<\/code>: Bu kullan\u0131c\u0131 i\u00e7in belirleyece\u011finiz g\u00fc\u00e7l\u00fc parola.<\/p>\n<p>\u00d6rnek:<\/p>\n<pre><code class=\"language-sql\">CREATE USER 'web_user'@'localhost' IDENTIFIED BY 'WebUserPass123!';<\/code><\/pre>\n<h4>Veritaban\u0131 Olu\u015fturma<\/h4>\n<p>Uygulamalar\u0131n\u0131z\u0131n verilerini depolayaca\u011f\u0131 bir veritaban\u0131na ihtiyac\u0131n\u0131z olacakt\u0131r. Yeni bir veritaban\u0131 olu\u015fturmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-sql\">CREATE DATABASE yeni_veritabani;<\/code><\/pre>\n<p>*   <code>yeni_veritabani<\/code>: Olu\u015fturmak istedi\u011finiz veritaban\u0131n\u0131n ad\u0131.<\/p>\n<p>\u00d6rnek:<\/p>\n<pre><code class=\"language-sql\">CREATE DATABASE my_app_db;<\/code><\/pre>\n<h4>Kullan\u0131c\u0131ya Veritaban\u0131 Yetkisi Verme<\/h4>\n<p>Olu\u015fturdu\u011funuz kullan\u0131c\u0131n\u0131n, olu\u015fturdu\u011funuz veritaban\u0131na eri\u015febilmesi i\u00e7in yetkilendirilmesi gerekir. <code>GRANT<\/code> komutu, kullan\u0131c\u0131lara belirli veritabanlar\u0131 \u00fczerinde belirli ayr\u0131cal\u0131klar atamak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-sql\">GRANT ALL PRIVILEGES ON yeni_veritabani.* TO 'yeni_kullanici'@'localhost';<\/code><\/pre>\n<p>*   <code>ALL PRIVILEGES<\/code>: Kullan\u0131c\u0131ya t\u00fcm ayr\u0131cal\u0131klar\u0131 (SELECT, INSERT, UPDATE, DELETE vb.) verir. Daha k\u0131s\u0131tl\u0131 yetkiler vermek isterseniz, <code>ALL PRIVILEGES<\/code> yerine belirli ayr\u0131cal\u0131klar\u0131 virg\u00fclle ay\u0131rarak listeleyebilirsiniz (\u00f6rne\u011fin, <code>SELECT, INSERT, UPDATE<\/code>).<br \/>\n<em>   <code>yeni_veritabani.<\/em><\/code>: Bu, <code>yeni_veritabani<\/code> i\u00e7indeki t\u00fcm tablolara (<code>*<\/code>) yetki verildi\u011fi anlam\u0131na gelir. Belirli bir tabloya yetki vermek isterseniz, <code>yeni_veritabani.tablo_adi<\/code> \u015feklinde belirtebilirsiniz.<br \/>\n*   <code>'yeni_kullanici'@'localhost'<\/code>: Yetki verilen kullan\u0131c\u0131 ve ba\u011flanabilece\u011fi host.<\/p>\n<p>Yetki de\u011fi\u015fikliklerinin hemen etkili olmas\u0131 i\u00e7in <code>FLUSH PRIVILEGES<\/code> komutunu \u00e7al\u0131\u015ft\u0131rman\u0131z gerekir:<\/p>\n<pre><code class=\"language-sql\">FLUSH PRIVILEGES;<\/code><\/pre>\n<p>\u00d6rnek:<\/p>\n<pre><code class=\"language-sql\">GRANT ALL PRIVILEGES ON my_app_db.* TO 'web_user'@'localhost';\nFLUSH PRIVILEGES;<\/code><\/pre>\n<h4>Uzaktan Eri\u015fim \u0130\u00e7in Yap\u0131land\u0131rma (\u0130ste\u011fe Ba\u011fl\u0131)<\/h4>\n<p>E\u011fer MySQL sunucunuza ba\u015fka bir makineden (\u00f6rne\u011fin, geli\u015ftirme bilgisayar\u0131n\u0131zdan) eri\u015fmeniz gerekiyorsa, baz\u0131 ek yap\u0131land\u0131rmalar yapman\u0131z gerekir.<\/p>\n<h5>MySQL Yap\u0131land\u0131rma Dosyas\u0131n\u0131 D\u00fczenleme<\/h5>\n<p>MySQL&#8217;in varsay\u0131lan olarak yaln\u0131zca <code>localhost<\/code> (127.0.0.1) adresinden gelen ba\u011flant\u0131lar\u0131 dinlemesini sa\u011flayan bir ayar\u0131 vard\u0131r. Bu ayar\u0131 de\u011fi\u015ftirmek i\u00e7in MySQL yap\u0131land\u0131rma dosyas\u0131n\u0131 d\u00fczenlemeniz gerekir.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/mysql\/mysql.conf.d\/mysqld.cnf<\/code><\/pre>\n<p>Bu dosya i\u00e7inde <code>bind-address<\/code> sat\u0131r\u0131n\u0131 bulun:<\/p>\n<pre><code class=\"language-\">bind-address            = 127.0.0.1<\/code><\/pre>\n<p>Bu sat\u0131r\u0131 yorum sat\u0131r\u0131 haline getirebilirsiniz (<code>#<\/code> koyarak) veya sunucunuzun d\u0131\u015f IP adresini veya <code>0.0.0.0<\/code> (t\u00fcm a\u011f aray\u00fczlerinden gelen ba\u011flant\u0131lar\u0131 dinle) olarak de\u011fi\u015ftirebilirsiniz:<\/p>\n<pre><code class=\"language-\">#bind-address            = 127.0.0.1\nbind-address            = 0.0.0.0<\/code><\/pre>\n<p>De\u011fi\u015fiklikleri kaydedin ve d\u00fczenleyiciden \u00e7\u0131k\u0131n (Ctrl+X, Y, Enter).<\/p>\n<p>Ard\u0131ndan, MySQL servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart mysql<\/code><\/pre>\n<h5>G\u00fcvenlik Duvar\u0131 (UFW) Ayarlar\u0131<\/h5>\n<p>E\u011fer Ubuntu&#8217;nuzda UFW (Uncomplicated Firewall) etkinse, MySQL&#8217;in varsay\u0131lan portu olan 3306&#8217;ya d\u0131\u015far\u0131dan gelen ba\u011flant\u0131lara izin vermeniz gerekir.<\/p>\n<p>Belirli bir IP adresinden eri\u015fime izin vermek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow from 192.168.1.100 to any port 3306<\/code><\/pre>\n<p>T\u00fcm IP adreslerinden eri\u015fime izin vermek i\u00e7in (g\u00fcvenlik riski ta\u015f\u0131r, dikkatli kullan\u0131n):<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 3306\/tcp<\/code><\/pre>\n<p>UFW durumunu kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo ufw status<\/code><\/pre>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra, yetkilendirdi\u011finiz kullan\u0131c\u0131lar, belirledi\u011finiz hostlardan MySQL sunucunuza eri\u015febilir.<\/p>\n<h3>MySQL Y\u00f6netimi<\/h3>\n<p>MySQL sunucunuzu kurduktan ve temel kullan\u0131c\u0131lar\u0131 yap\u0131land\u0131rd\u0131ktan sonra, d\u00fczenli y\u00f6netim g\u00f6revlerini yerine getirmeniz gerekebilir. Bu b\u00f6l\u00fcm, MySQL servisinin nas\u0131l y\u00f6netilece\u011fini, yap\u0131land\u0131rma dosyalar\u0131n\u0131 ve yedekleme gibi \u00f6nemli operasyonlar\u0131 ele alacakt\u0131r.<\/p>\n<h4>MySQL Servisini Y\u00f6netme<\/h4>\n<p>MySQL bir sistem servisidir ve <code>systemctl<\/code> komutu ile kolayca y\u00f6netilebilir.<\/p>\n<p>*   <strong>Servisi Durdurma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl stop mysql<\/code><\/pre>\n<p>    Bu komut, MySQL sunucusunu durdurur. Veritaban\u0131 operasyonlar\u0131 bu s\u00fcre zarf\u0131nda yap\u0131lamaz.<\/p>\n<p>*   <strong>Servisi Ba\u015flatma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl start mysql<\/code><\/pre>\n<p>    Bu komut, durdurulmu\u015f bir MySQL sunucusunu ba\u015flat\u0131r.<\/p>\n<p>*   <strong>Servisi Yeniden Ba\u015flatma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart mysql<\/code><\/pre>\n<p>    Bu komut, MySQL sunucusunu durdurur ve tekrar ba\u015flat\u0131r. Genellikle yap\u0131land\u0131rma dosyalar\u0131nda de\u011fi\u015fiklik yapt\u0131ktan sonra bu komutu kullanman\u0131z gerekir.<\/p>\n<p>*   <strong>Servis Durumunu Kontrol Etme:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl status mysql<\/code><\/pre>\n<p>    Bu komut, MySQL servisinin mevcut durumunu (\u00e7al\u0131\u015f\u0131yor mu, durduruldu mu, hata m\u0131 var vb.) g\u00f6sterir.<\/p>\n<p>*   <strong>Sistem Ba\u015flang\u0131c\u0131nda Otomatik \u00c7al\u0131\u015fmay\u0131 Etkinle\u015ftirme\/Devre D\u0131\u015f\u0131 B\u0131rakma:<\/strong><br \/>\n    Varsay\u0131lan olarak, MySQL sistem ba\u015flang\u0131c\u0131nda otomatik olarak \u00e7al\u0131\u015facak \u015fekilde yap\u0131land\u0131r\u0131l\u0131r.<br \/>\n    Otomatik \u00e7al\u0131\u015fmay\u0131 devre d\u0131\u015f\u0131 b\u0131rakmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl disable mysql<\/code><\/pre>\n<p>    Otomatik \u00e7al\u0131\u015fmay\u0131 yeniden etkinle\u015ftirmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl enable mysql<\/code><\/pre>\n<h4>MySQL Yap\u0131land\u0131rma Dosyalar\u0131<\/h4>\n<p>MySQL&#8217;in davran\u0131\u015f\u0131n\u0131 ve performans\u0131n\u0131 ayarlamak i\u00e7in \u00e7e\u015fitli yap\u0131land\u0131rma dosyalar\u0131 kullan\u0131l\u0131r. Ubuntu 16.04&#8217;te ana yap\u0131land\u0131rma dosyas\u0131 <code>\/etc\/mysql\/mysql.cnf<\/code>&#8216;tir, ancak genellikle daha spesifik ayarlar <code>\/etc\/mysql\/conf.d\/<\/code> ve <code>\/etc\/mysql\/mysql.conf.d\/<\/code> dizinlerindeki dosyalarda bulunur.<\/p>\n<p>En s\u0131k d\u00fczenlenen dosyalardan biri <code>\/etc\/mysql\/mysql.conf.d\/mysqld.cnf<\/code>&#8216;tir. Bu dosya, MySQL sunucusunun (mysqld) temel ayarlar\u0131n\u0131 i\u00e7erir. Daha \u00f6nce uzaktan eri\u015fim i\u00e7in <code>bind-address<\/code> ayar\u0131n\u0131 bu dosyada de\u011fi\u015ftirmi\u015ftik.<\/p>\n<p>Baz\u0131 yayg\u0131n yap\u0131land\u0131rma ayarlar\u0131 \u015funlar\u0131 i\u00e7erebilir:<br \/>\n*   <code>port<\/code>: MySQL&#8217;in dinleyece\u011fi port (varsay\u0131lan 3306).<br \/>\n*   <code>max_connections<\/code>: Ayn\u0131 anda izin verilen maksimum ba\u011flant\u0131 say\u0131s\u0131.<br \/>\n*   <code>innodb_buffer_pool_size<\/code>: InnoDB depolama motoru i\u00e7in ayr\u0131lan bellek miktar\u0131. Bu, performans\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde etkileyebilir.<br \/>\n*   <code>log_error<\/code>: Hata g\u00fcnl\u00fcklerinin kaydedildi\u011fi dosya yolu.<\/p>\n<p>Herhangi bir yap\u0131land\u0131rma dosyas\u0131nda de\u011fi\u015fiklik yapt\u0131ktan sonra, de\u011fi\u015fikliklerin etkili olmas\u0131 i\u00e7in MySQL servisini yeniden ba\u015flatmay\u0131 unutmay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart mysql<\/code><\/pre>\n<h4>G\u00fcnl\u00fck Dosyalar\u0131 (Log Files)<\/h4>\n<p>MySQL, sunucunun \u00e7al\u0131\u015fmas\u0131 s\u0131ras\u0131nda \u00e7e\u015fitli g\u00fcnl\u00fck dosyalar\u0131 olu\u015fturur. Bu g\u00fcnl\u00fckler, sorun giderme, performans analizi ve g\u00fcvenlik denetimi i\u00e7in \u00e7ok de\u011ferlidir.<\/p>\n<p>*   <strong>Hata G\u00fcnl\u00fc\u011f\u00fc (Error Log):<\/strong> Sunucu ba\u015flatma\/durdurma sorunlar\u0131, kritik hatalar ve uyar\u0131lar bu g\u00fcnl\u00fckte bulunur. Varsay\u0131lan konumu genellikle <code>\/var\/log\/mysql\/error.log<\/code> veya <code>\/var\/log\/syslog<\/code> olabilir (yap\u0131land\u0131rmaya ba\u011fl\u0131 olarak).<br \/>\n*   <strong>Genel Sorgu G\u00fcnl\u00fc\u011f\u00fc (General Query Log):<\/strong> Sunucu taraf\u0131ndan al\u0131nan her SQL sorgusunu kaydeder. Performans \u00fczerinde ciddi etkisi oldu\u011fundan, genellikle sadece sorun giderme amac\u0131yla k\u0131sa s\u00fcreli\u011fine etkinle\u015ftirilir.<br \/>\n*   <strong>\u0130kili G\u00fcnl\u00fck (Binary Log &#8211; Binlog):<\/strong> Veritaban\u0131nda yap\u0131lan t\u00fcm de\u011fi\u015fiklikleri (INSERT, UPDATE, DELETE) ikili formatta kaydeder. Veritaban\u0131 replikasyonu ve noktadan kurtarma (point-in-time recovery) i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <strong>Yava\u015f Sorgu G\u00fcnl\u00fc\u011f\u00fc (Slow Query Log):<\/strong> Belirli bir s\u00fcreden daha uzun s\u00fcren sorgular\u0131 kaydeder. Performans darbo\u011fazlar\u0131n\u0131 tespit etmek i\u00e7in \u00e7ok faydal\u0131d\u0131r.<\/p>\n<p>G\u00fcnl\u00fck dosyalar\u0131n\u0131 incelemek i\u00e7in <code>cat<\/code>, <code>tail<\/code>, <code>grep<\/code> gibi Linux komutlar\u0131n\u0131 kullanabilirsiniz. \u00d6rne\u011fin, hata g\u00fcnl\u00fc\u011f\u00fcn\u00fcn son 10 sat\u0131r\u0131n\u0131 g\u00f6rmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo tail \/var\/log\/mysql\/error.log<\/code><\/pre>\n<h4>Yedekleme ve Geri Y\u00fckleme (<code>mysqldump<\/code>)<\/h4>\n<p>Veritaban\u0131 yedeklemesi, felaket kurtarma plan\u0131n\u0131n kritik bir par\u00e7as\u0131d\u0131r. MySQL, <code>mysqldump<\/code> yard\u0131mc\u0131 program\u0131 ile veritabanlar\u0131n\u0131 kolayca yedeklemeyi sa\u011flar.<\/p>\n<h5>Veritaban\u0131 Yedekleme<\/h5>\n<p>Tek bir veritaban\u0131n\u0131 yedeklemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo mysqldump -u root -p yeni_veritabani > \/yedekler\/yeni_veritabani_yedek.sql<\/code><\/pre>\n<p>*   <code>-u root -p<\/code>: Root kullan\u0131c\u0131s\u0131 ile ba\u011flan\u0131r ve parola ister. Daha k\u0131s\u0131tl\u0131 yetkilere sahip bir yedekleme kullan\u0131c\u0131s\u0131 olu\u015fturman\u0131z daha g\u00fcvenlidir.<br \/>\n*   <code>yeni_veritabani<\/code>: Yedeklenecek veritaban\u0131n\u0131n ad\u0131.<br \/>\n*   <code>><\/code>: \u00c7\u0131kt\u0131y\u0131 belirtilen dosyaya y\u00f6nlendirir.<br \/>\n*   <code>\/yedekler\/yeni_veritabani_yedek.sql<\/code>: Yedek dosyas\u0131n\u0131n kaydedilece\u011fi yol ve ad\u0131.<\/p>\n<p>T\u00fcm veritabanlar\u0131n\u0131 yedeklemek i\u00e7in (sistem veritabanlar\u0131 dahil):<\/p>\n<pre><code class=\"language-bash\">sudo mysqldump -u root -p --all-databases > \/yedekler\/tum_veritabanlari_yedek.sql<\/code><\/pre>\n<p>Bu komutlar\u0131 cron i\u015fleri ile otomatikle\u015ftirerek d\u00fczenli yedeklemeler yapman\u0131z \u00f6nerilir.<\/p>\n<h5>Veritaban\u0131 Geri Y\u00fckleme<\/h5>\n<p>Yedeklenen bir veritaban\u0131n\u0131 geri y\u00fcklemek i\u00e7in \u00f6nce bo\u015f bir veritaban\u0131 olu\u015fturman\u0131z ve ard\u0131ndan SQL dosyas\u0131n\u0131 bu veritaban\u0131na aktarman\u0131z gerekir:<\/p>\n<pre><code class=\"language-sql\">CREATE DATABASE yeni_veritabani_geri_yuklenecek;<\/code><\/pre>\n<p>Ard\u0131ndan, terminalde:<\/p>\n<pre><code class=\"language-bash\">sudo mysql -u root -p yeni_veritabani_geri_yuklenecek < \/yedekler\/yeni_veritabani_yedek.sql<\/code><\/pre>\n<p>Bu komut, yedek dosyas\u0131ndaki SQL sorgular\u0131n\u0131 <code>yeni_veritabani_geri_yuklenecek<\/code> veritaban\u0131na \u00e7al\u0131\u015ft\u0131rarak verileri geri y\u00fckler.<\/p>\n<h3>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>MySQL kurulumu ve y\u00f6netimi s\u0131ras\u0131nda baz\u0131 yayg\u0131n sorunlarla kar\u015f\u0131la\u015f\u0131labilir. Bu b\u00f6l\u00fcmde, bu sorunlar\u0131 ve olas\u0131 \u00e7\u00f6z\u00fcmlerini ele alaca\u011f\u0131z.<\/p>\n<h4>Ba\u011flant\u0131 Hatalar\u0131<\/h4>\n<h5>\"Can't connect to MySQL server on 'localhost' (111)\" veya benzeri bir hata<\/h5>\n<p>Bu hata genellikle MySQL sunucusunun \u00e7al\u0131\u015fmad\u0131\u011f\u0131 anlam\u0131na gelir.<br \/>\n<strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n1.  MySQL servisinin durumunu kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status mysql<\/code><\/pre>\n<p>2.  E\u011fer servis durdurulmu\u015fsa veya bir hata varsa, ba\u015flatmay\u0131 deneyin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start mysql<\/code><\/pre>\n<p>3.  Hata g\u00fcnl\u00fcklerini kontrol edin (<code>\/var\/log\/mysql\/error.log<\/code>) veya <code>journalctl -xe<\/code> komutu ile daha fazla bilgi edinin.<\/p>\n<h5>\"Access denied for user 'kullanici'@'host' (using password: YES\/NO)\"<\/h5>\n<p>Bu hata, yanl\u0131\u015f kullan\u0131c\u0131 ad\u0131, yanl\u0131\u015f parola veya kullan\u0131c\u0131n\u0131n o host'tan ba\u011flanma yetkisinin olmamas\u0131 nedeniyle olu\u015fur.<br \/>\n<strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n1.  Kullan\u0131c\u0131 ad\u0131n\u0131 ve parolas\u0131n\u0131 do\u011fru girdi\u011finizden emin olun.<br \/>\n2.  Kullan\u0131c\u0131n\u0131n ba\u011flanmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131 host'tan (\u00f6rne\u011fin, <code>localhost<\/code> veya belirli bir IP) eri\u015fim yetkisi olup olmad\u0131\u011f\u0131n\u0131 kontrol edin. Gerekirse <code>GRANT<\/code> komutu ile yetkileri g\u00fcncelleyin ve <code>FLUSH PRIVILEGES<\/code> \u00e7al\u0131\u015ft\u0131r\u0131n.<\/p>\n<pre><code class=\"language-sql\">GRANT ALL PRIVILEGES ON veritabani_adi.* TO 'kullanici_adi'@'host_adi';\n    FLUSH PRIVILEGES;<\/code><\/pre>\n<p>3.  E\u011fer uzaktan ba\u011flanmaya \u00e7al\u0131\u015f\u0131yorsan\u0131z, <code>bind-address<\/code> ayar\u0131n\u0131 <code>mysqld.cnf<\/code> dosyas\u0131nda kontrol edin ve g\u00fcvenlik duvar\u0131n\u0131z\u0131n (UFW) 3306 portuna izin verdi\u011finden emin olun.<\/p>\n<h4>Parola Sorunlar\u0131<\/h4>\n<h5>Root parolas\u0131n\u0131 unuttunuz<\/h5>\n<p>MySQL root parolas\u0131n\u0131 unuttuysan\u0131z, parola s\u0131f\u0131rlama i\u015flemi yapman\u0131z gerekir.<br \/>\n<strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n1.  MySQL servisini durdurun:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl stop mysql<\/code><\/pre>\n<p>2.  MySQL'i g\u00fcvenliksiz modda ba\u015flat\u0131n. Bu, parola olmadan ba\u011flanman\u0131za izin verir.<\/p>\n<pre><code class=\"language-bash\">sudo mysqld_safe --skip-grant-tables &<\/code><\/pre>\n<p>    <code>&<\/code> i\u015fareti, komutun arka planda \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar.<br \/>\n3.  MySQL'e root olarak parola olmadan ba\u011flan\u0131n:<\/p>\n<pre><code class=\"language-bash\">mysql -u root<\/code><\/pre>\n<p>4.  Parolay\u0131 s\u0131f\u0131rlay\u0131n. MySQL 5.7+ i\u00e7in:<\/p>\n<pre><code class=\"language-sql\">USE mysql;\n    UPDATE user SET authentication_string = PASSWORD('YeniGucluParola') WHERE User = 'root';\n    FLUSH PRIVILEGES;\n    EXIT;<\/code><\/pre>\n<p>    MySQL 5.6 ve \u00f6ncesi i\u00e7in:<\/p>\n<pre><code class=\"language-sql\">USE mysql;\n    UPDATE user SET Password = PASSWORD('YeniGucluParola') WHERE User = 'root';\n    FLUSH PRIVILEGES;\n    EXIT;<\/code><\/pre>\n<p>    <strong>\u00d6nemli Not:<\/strong> <code>PASSWORD()<\/code> fonksiyonu MySQL 8.0'dan itibaren kullan\u0131m d\u0131\u015f\u0131d\u0131r ve <code>authentication_string<\/code> do\u011frudan d\u00fcz metin parola ile ayarlanabilir (ancak bu tavsiye edilmez, <code>ALTER USER<\/code> kullan\u0131n). Ancak Ubuntu 16.04'teki MySQL s\u00fcr\u00fcm\u00fc i\u00e7in yukar\u0131daki y\u00f6ntem genellikle ge\u00e7erlidir.<br \/>\n5.  <code>mysqld_safe<\/code> i\u015flemini sonland\u0131r\u0131n (\u00f6nce <code>ps aux | grep mysqld_safe<\/code> ile PID'yi bulun, sonra <code>sudo kill PID<\/code>).<br \/>\n6.  MySQL servisini normal \u015fekilde ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start mysql<\/code><\/pre>\n<p>7.  Yeni parolan\u0131zla giri\u015f yapmay\u0131 deneyin.<\/p>\n<h4>Servis Ba\u015flatma Sorunlar\u0131<\/h4>\n<h5>MySQL servisi ba\u015flat\u0131lam\u0131yor<\/h5>\n<p>Bu, genellikle yap\u0131land\u0131rma dosyas\u0131ndaki hatalar, disk alan\u0131 sorunlar\u0131 veya veri dizini izinleri gibi nedenlerden kaynaklan\u0131r.<br \/>\n<strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n1.  Hata g\u00fcnl\u00fcklerini kontrol edin: <code>\/var\/log\/mysql\/error.log<\/code> veya <code>journalctl -xe<\/code>. Bu g\u00fcnl\u00fckler, sorunun k\u00f6keni hakk\u0131nda de\u011ferli bilgiler sa\u011flayacakt\u0131r.<br \/>\n2.  Yap\u0131land\u0131rma dosyalar\u0131n\u0131z\u0131 kontrol edin (<code>\/etc\/mysql\/mysql.conf.d\/mysqld.cnf<\/code> ve di\u011ferleri) s\u00f6zdizimi hatalar\u0131 veya yanl\u0131\u015f de\u011ferler i\u00e7in.<br \/>\n3.  Disk alan\u0131n\u0131z\u0131 kontrol edin: <code>df -h<\/code>. E\u011fer disk doluysa, MySQL veri yazamaz ve ba\u015flat\u0131lamaz.<br \/>\n4.  MySQL veri dizininin (genellikle <code>\/var\/lib\/mysql<\/code>) do\u011fru izinlere sahip oldu\u011fundan emin olun. Sahibi <code>mysql:mysql<\/code> olmal\u0131d\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo chown -R mysql:mysql \/var\/lib\/mysql\n    sudo chmod -R 755 \/var\/lib\/mysql<\/code><\/pre>\n<p>    Bu komutlar\u0131 dikkatli kullan\u0131n, yanl\u0131\u015f izinler daha fazla soruna yol a\u00e7abilir.<\/p>\n<h4>Yetkilendirme Sorunlar\u0131<\/h4>\n<h5>Yeni olu\u015fturulan kullan\u0131c\u0131ya yetkiler verilmesine ra\u011fmen hala eri\u015fim sorunlar\u0131 ya\u015fan\u0131yor<\/h5>\n<p><strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n1.  <code>FLUSH PRIVILEGES;<\/code> komutunu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zdan emin olun. Bu komut, MySQL'in yetki tablolar\u0131n\u0131 yeniden y\u00fcklemesini sa\u011flar.<br \/>\n2.  Kullan\u0131c\u0131n\u0131n do\u011fru host'tan ba\u011flanmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun. \u00d6rne\u011fin, kullan\u0131c\u0131 <code>web_user@localhost<\/code> olarak tan\u0131mlanm\u0131\u015fsa, <code>192.168.1.10<\/code> adresinden ba\u011flanamaz. Ya kullan\u0131c\u0131y\u0131 <code>web_user@'%'<\/code> olarak tan\u0131mlay\u0131n (t\u00fcm hostlardan eri\u015fim) ya da <code>web_user@'192.168.1.10'<\/code> olarak spesifik bir giri\u015f olu\u015fturun.<br \/>\n3.  MySQL \u00f6nbelle\u011fini temizlemek i\u00e7in MySQL servisini yeniden ba\u015flatmay\u0131 deneyin.<\/p>\n<p>Bu sorun giderme ipu\u00e7lar\u0131, MySQL kurulumu ve y\u00f6netimi s\u0131ras\u0131nda kar\u015f\u0131la\u015fabilece\u011finiz \u00e7o\u011fu yayg\u0131n sorunu \u00e7\u00f6zmenize yard\u0131mc\u0131 olacakt\u0131r. Her zaman ilk ad\u0131m, hata g\u00fcnl\u00fcklerini kontrol etmek ve sorunun k\u00f6kenini anlamaya \u00e7al\u0131\u015fmakt\u0131r.<\/p>\n<h3>MySQL Kald\u0131rma (\u0130ste\u011fe Ba\u011fl\u0131)<\/h3>\n<p>E\u011fer MySQL sunucusunu sisteminizden tamamen kald\u0131rman\u0131z gerekiyorsa, bu b\u00f6l\u00fcmdeki ad\u0131mlar\u0131 takip edebilirsiniz. Bu i\u015flem, MySQL paketlerini, yap\u0131land\u0131rma dosyalar\u0131n\u0131 ve iste\u011fe ba\u011fl\u0131 olarak veritaban\u0131 dosyalar\u0131n\u0131 kald\u0131racakt\u0131r.<\/p>\n<h4>MySQL Paketlerini Kald\u0131rma<\/h4>\n<p>MySQL sunucu ve istemci paketlerini kald\u0131rmak i\u00e7in <code>apt remove<\/code> komutunu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt remove --purge mysql-server mysql-client mysql-common -y<\/code><\/pre>\n<p>*   <code>--purge<\/code>: Bu bayrak, paketlerle birlikte ilgili yap\u0131land\u0131rma dosyalar\u0131n\u0131 da kald\u0131r\u0131r. Bu, daha temiz bir kald\u0131rma sa\u011flar.<br \/>\n*   <code>mysql-server<\/code>: MySQL sunucu paketidir.<br \/>\n*   <code>mysql-client<\/code>: MySQL istemci ara\u00e7lar\u0131 paketidir.<br \/>\n*   <code>mysql-common<\/code>: MySQL'in temel ortak dosyalar\u0131n\u0131 ve yap\u0131land\u0131rmalar\u0131n\u0131 i\u00e7erir.<\/p>\n<p>Bu komut, MySQL paketlerini ve yap\u0131land\u0131rma dosyalar\u0131n\u0131 kald\u0131racakt\u0131r. Ancak, veritaban\u0131 dosyalar\u0131 (yani, verilerinizin depoland\u0131\u011f\u0131 dizin) genellikle yerinde kal\u0131r.<\/p>\n<h4>Kalan Veritaban\u0131 Dosyalar\u0131n\u0131 Kald\u0131rma<\/h4>\n<p>E\u011fer MySQL'i tamamen kald\u0131rmak ve t\u00fcm veritaban\u0131 verilerini silmek istiyorsan\u0131z, MySQL veri dizinini manuel olarak silmeniz gerekir. <strong>Bu ad\u0131m\u0131 uygulamadan \u00f6nce, bu dizindeki T\u00dcM VER\u0130LER\u0130N kal\u0131c\u0131 olarak silinece\u011fini ve kurtar\u0131lamayaca\u011f\u0131n\u0131 unutmay\u0131n. \u00d6nemli verileriniz varsa, \u00f6nce yedekleyin!<\/strong><\/p>\n<p>MySQL'in varsay\u0131lan veri dizini <code>\/var\/lib\/mysql<\/code>'dir. Bu dizini silmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo rm -rf \/var\/lib\/mysql<\/code><\/pre>\n<p>Bu komut, <code>\/var\/lib\/mysql<\/code> dizinini ve i\u00e7indeki t\u00fcm dosyalar\u0131 ve alt dizinleri zorla ve yinelemeli olarak siler.<\/p>\n<h4>Kalan G\u00fcnl\u00fck Dosyalar\u0131n\u0131 ve Di\u011fer Art\u0131klar\u0131 Temizleme<\/h4>\n<p>MySQL'in b\u0131rakt\u0131\u011f\u0131 di\u011fer dosyalar\u0131 ve dizinleri temizlemek i\u00e7in a\u015fa\u011f\u0131daki komutlar\u0131 kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo rm -rf \/etc\/mysql\nsudo apt autoremove -y\nsudo apt clean<\/code><\/pre>\n<p>*   <code>sudo rm -rf \/etc\/mysql<\/code>: MySQL'in yap\u0131land\u0131rma dizinini siler.<br \/>\n*   <code>sudo apt autoremove -y<\/code>: Art\u0131k ihtiya\u00e7 duyulmayan (MySQL ile birlikte y\u00fcklenmi\u015f ancak MySQL kald\u0131r\u0131ld\u0131ktan sonra ba\u015fka bir paket taraf\u0131ndan kullan\u0131lmayan) ba\u011f\u0131ml\u0131l\u0131k paketlerini kald\u0131r\u0131r.<br \/>\n*   <code>sudo apt clean<\/code>: \u0130ndirilen <code>.deb<\/code> paket dosyalar\u0131n\u0131 APT \u00f6nbelle\u011finden temizler.<\/p>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra, Ubuntu 16.04 sisteminizden MySQL tamamen kald\u0131r\u0131lm\u0131\u015f olacakt\u0131r.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu kapsaml\u0131 rehberde, Ubuntu 16.04 i\u015fletim sistemi \u00fczerine MySQL veritaban\u0131 sunucusunun nas\u0131l kurulaca\u011f\u0131n\u0131 ad\u0131m ad\u0131m ele ald\u0131k. Kurulum \u00f6ncesi haz\u0131rl\u0131klardan ba\u015flayarak, sistem g\u00fcncellemesi, MySQL paketlerinin y\u00fcklenmesi ve en kritik ad\u0131m olan g\u00fcvenlik yap\u0131land\u0131rmas\u0131na kadar t\u00fcm s\u00fcre\u00e7leri detayl\u0131 bir \u015fekilde inceledik.<\/p>\n<p>Ayr\u0131ca, MySQL sunucusuna nas\u0131l ba\u011flan\u0131laca\u011f\u0131n\u0131, yeni kullan\u0131c\u0131lar ve veritabanlar\u0131 olu\u015fturmay\u0131, bu kullan\u0131c\u0131lara yetki vermeyi ve gerekti\u011finde uzaktan eri\u015fim i\u00e7in yap\u0131land\u0131rma yapmay\u0131 \u00f6\u011frendik. MySQL servisinin y\u00f6netimi, yap\u0131land\u0131rma dosyalar\u0131n\u0131n anla\u015f\u0131lmas\u0131, g\u00fcnl\u00fck dosyalar\u0131n\u0131n incelenmesi ve veritaban\u0131 yedekleme\/geri y\u00fckleme gibi \u00f6nemli y\u00f6netim g\u00f6revlerine de de\u011findik. Son olarak, kurulum ve kullan\u0131m s\u0131ras\u0131nda s\u0131k kar\u015f\u0131la\u015f\u0131lan sorunlara y\u00f6nelik pratik \u00e7\u00f6z\u00fcmler sunarak, olas\u0131 engelleri a\u015fman\u0131za yard\u0131mc\u0131 olmay\u0131 hedefledik. \u0130ste\u011fe ba\u011fl\u0131 olarak, MySQL'i sistemden tamamen kald\u0131rma ad\u0131mlar\u0131n\u0131 da g\u00f6sterdik.<\/p>\n<p>Unutulmamal\u0131d\u0131r ki, Ubuntu 16.04 art\u0131k uzun s\u00fcreli destek (LTS) s\u00fcrecinin sonuna gelmi\u015f ve g\u00fcvenlik g\u00fcncellemeleri almayan eski bir s\u00fcr\u00fcmd\u00fcr. Yeni projeler i\u00e7in daha g\u00fcncel ve desteklenen bir Ubuntu s\u00fcr\u00fcm\u00fc (\u00f6rne\u011fin, Ubuntu 20.04 LTS veya 22.04 LTS) kullanman\u0131z \u015fiddetle tavsiye edilir. Ancak, mevcut bir Ubuntu 16.04 ortam\u0131nda MySQL'e ihtiya\u00e7 duyanlar veya bu spesifik kurulum s\u00fcrecini \u00f6\u011frenmek isteyenler i\u00e7in bu rehberin eksiksiz bir kaynak oldu\u011funu umuyoruz.<\/p>\n<p>MySQL g\u00fc\u00e7l\u00fc, esnek ve yayg\u0131n olarak kullan\u0131lan bir veritaban\u0131 \u00e7\u00f6z\u00fcm\u00fcd\u00fcr. Bu rehberdeki bilgileri kullanarak, uygulamalar\u0131n\u0131z ve projeleriniz i\u00e7in sa\u011flam bir veritaban\u0131 altyap\u0131s\u0131 kurabilir ve y\u00f6netebilirsiniz. Veritaban\u0131 y\u00f6netiminde s\u00fcrekli \u00f6\u011frenme ve g\u00fcvenlik en iyi uygulamalar\u0131n\u0131 takip etme, sistemlerinizin istikrarl\u0131 ve g\u00fcvenli kalmas\u0131 i\u00e7in kritik \u00f6neme sahiptir.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu 16.04 \u00dczerine MySQL Kurulumu: Kapsaml\u0131 Bir Rehber\nGiri\u015f\nVeritabanlar\u0131, modern uygulamalar\u0131n ve web sitelerinin temelini olu\u015fturur. Bilgi","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-35642","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 16.04 \u00dczerine MySQL Kurulumu: Kapsaml\u0131 Bir Rehber - 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-16-04-uzerine-mysql-kurulumu-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu 16.04 \u00dczerine MySQL Kurulumu: Kapsaml\u0131 Bir Rehber\" \/>\n<meta property=\"og:description\" content=\"Ubuntu 16.04 \u00dczerine MySQL Kurulumu: Kapsaml\u0131 Bir Rehber Giri\u015f Veritabanlar\u0131, modern uygulamalar\u0131n ve web sitelerinin temelini olu\u015fturur. Bilgi\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-mysql-kurulumu-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-02T02:40:49+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=\"23 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-mysql-kurulumu-kapsamli-bir-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-mysql-kurulumu-kapsamli-bir-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu 16.04 \u00dczerine MySQL Kurulumu: Kapsaml\u0131 Bir Rehber\",\"datePublished\":\"2025-12-02T02:40:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-mysql-kurulumu-kapsamli-bir-rehber\/\"},\"wordCount\":4060,\"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-16-04-uzerine-mysql-kurulumu-kapsamli-bir-rehber\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-mysql-kurulumu-kapsamli-bir-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-mysql-kurulumu-kapsamli-bir-rehber\/\",\"name\":\"Ubuntu 16.04 \u00dczerine MySQL Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-02T02:40:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-mysql-kurulumu-kapsamli-bir-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-mysql-kurulumu-kapsamli-bir-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-mysql-kurulumu-kapsamli-bir-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu 16.04 \u00dczerine MySQL Kurulumu: Kapsaml\u0131 Bir Rehber\"}]},{\"@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 16.04 \u00dczerine MySQL Kurulumu: Kapsaml\u0131 Bir Rehber - 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-16-04-uzerine-mysql-kurulumu-kapsamli-bir-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu 16.04 \u00dczerine MySQL Kurulumu: Kapsaml\u0131 Bir Rehber","og_description":"Ubuntu 16.04 \u00dczerine MySQL Kurulumu: Kapsaml\u0131 Bir Rehber Giri\u015f Veritabanlar\u0131, modern uygulamalar\u0131n ve web sitelerinin temelini olu\u015fturur. Bilgi","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-mysql-kurulumu-kapsamli-bir-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-02T02:40:49+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"23 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-mysql-kurulumu-kapsamli-bir-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-mysql-kurulumu-kapsamli-bir-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu 16.04 \u00dczerine MySQL Kurulumu: Kapsaml\u0131 Bir Rehber","datePublished":"2025-12-02T02:40:49+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-mysql-kurulumu-kapsamli-bir-rehber\/"},"wordCount":4060,"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-16-04-uzerine-mysql-kurulumu-kapsamli-bir-rehber\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-mysql-kurulumu-kapsamli-bir-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-mysql-kurulumu-kapsamli-bir-rehber\/","name":"Ubuntu 16.04 \u00dczerine MySQL Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-02T02:40:49+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-mysql-kurulumu-kapsamli-bir-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-mysql-kurulumu-kapsamli-bir-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-mysql-kurulumu-kapsamli-bir-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu 16.04 \u00dczerine MySQL Kurulumu: Kapsaml\u0131 Bir Rehber"}]},{"@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\/35642","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=35642"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35642\/revisions"}],"predecessor-version":[{"id":35643,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35642\/revisions\/35643"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=35642"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=35642"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=35642"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}