{"id":34865,"date":"2025-11-23T01:40:39","date_gmt":"2025-11-22T22:40:39","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=34865"},"modified":"2025-11-23T01:40:39","modified_gmt":"2025-11-22T22:40:39","slug":"mysql-veri-dizinini-ubuntu-16-04te-yeni-bir-konuma-tasima","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/mysql-veri-dizinini-ubuntu-16-04te-yeni-bir-konuma-tasima\/","title":{"rendered":"MySQL Veri Dizinini Ubuntu 16.04&#8217;te Yeni Bir Konuma Ta\u015f\u0131ma"},"content":{"rendered":"<p><body><\/p>\n<h2>MySQL Veri Dizinini Ubuntu 16.04&#8217;te Yeni Bir Konuma Ta\u015f\u0131ma<\/h2>\n<h2>Giri\u015f<\/h2>\n<p>MySQL veri dizinini (datadir) varsay\u0131lan konumundan ba\u015fka bir yere ta\u015f\u0131mak, veritaban\u0131 y\u00f6neticileri i\u00e7in yayg\u0131n bir gereklilik olabilir. Bu i\u015flem, genellikle disk alan\u0131 y\u00f6netimi, performans iyile\u015ftirmeleri, farkl\u0131 depolama t\u00fcrlerini kullanma (\u00f6rne\u011fin, daha h\u0131zl\u0131 SSD&#8217;ler veya daha b\u00fcy\u00fck HDD&#8217;ler), yedekleme stratejileri veya g\u00fcvenlik politikalar\u0131 gibi \u00e7e\u015fitli nedenlerle g\u00fcndeme gelir. Ubuntu 16.04 gibi bir Linux da\u011f\u0131t\u0131m\u0131nda bu i\u015flem, \u00f6zellikle AppArmor gibi g\u00fcvenlik mekanizmalar\u0131 nedeniyle dikkatli ad\u0131mlar gerektirir.<\/p>\n<p>Bu kapsaml\u0131 teknik makale, MySQL veri dizinini Ubuntu 16.04 sunucusunda g\u00fcvenli ve etkili bir \u015fekilde yeni bir konuma ta\u015f\u0131ma s\u00fcrecini ad\u0131m ad\u0131m a\u00e7\u0131klamaktad\u0131r. Amac\u0131m\u0131z, veri kayb\u0131 riskini en aza indirerek ve olas\u0131 sorunlar\u0131 \u00f6nleyerek bu i\u015flemi ba\u015far\u0131yla tamamlaman\u0131z\u0131 sa\u011flamakt\u0131r. Makale boyunca, her ad\u0131m\u0131n nedenini a\u00e7\u0131klayacak, ilgili komutlar\u0131 sunacak ve s\u0131k kar\u015f\u0131la\u015f\u0131lan sorunlara \u00e7\u00f6z\u00fcm \u00f6nerileri getirece\u011fiz. Bu rehber, temel Linux komut bilgisine ve sunucu y\u00f6netimi deneyimine sahip okuyucular i\u00e7in tasarlanm\u0131\u015ft\u0131r.<\/p>\n<h2>\u00d6nko\u015fullar ve Haz\u0131rl\u0131k<\/h2>\n<p>MySQL veri dizinini ta\u015f\u0131ma i\u015flemine ba\u015flamadan \u00f6nce, sorunsuz bir ge\u00e7i\u015f sa\u011flamak i\u00e7in baz\u0131 \u00f6nko\u015fullar\u0131 yerine getirmek ve gerekli haz\u0131rl\u0131klar\u0131 yapmak kritik \u00f6neme sahiptir. Bu b\u00f6l\u00fcm, dikkat etmeniz gereken temel noktalar\u0131 ve yapman\u0131z gereken haz\u0131rl\u0131klar\u0131 detayland\u0131rmaktad\u0131r.<\/p>\n<h3>Sistem Gereksinimleri<\/h3>\n<p>Bu rehber, Ubuntu 16.04 i\u015fletim sistemi \u00fczerinde \u00e7al\u0131\u015fan bir MySQL sunucusuna odaklanmaktad\u0131r. MySQL&#8217;in sunucunuza kurulu ve \u00e7al\u0131\u015f\u0131r durumda oldu\u011funu varsay\u0131yoruz. \u0130\u015fletim sistemi s\u00fcr\u00fcm\u00fcn\u00fcn do\u011frulu\u011fu ve MySQL&#8217;in d\u00fczg\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak, sonraki ad\u0131mlar\u0131n ba\u015far\u0131s\u0131 i\u00e7in \u00f6nemlidir.<\/p>\n<h3>Root Yetkisi<\/h3>\n<p>Veri dizinini ta\u015f\u0131mak, MySQL yap\u0131land\u0131rma dosyalar\u0131n\u0131 de\u011fi\u015ftirmek ve AppArmor politikalar\u0131n\u0131 g\u00fcncellemek gibi i\u015flemler, s\u00fcper kullan\u0131c\u0131 (root) yetkisi gerektirir. Bu nedenle, <code>sudo<\/code> komutunu kullanabilen bir kullan\u0131c\u0131yla oturum a\u00e7t\u0131\u011f\u0131n\u0131zdan veya do\u011frudan root kullan\u0131c\u0131s\u0131 olarak \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zdan emin olun.<\/p>\n<h3>Yeterli Disk Alan\u0131<\/h3>\n<p>Yeni veri dizini konumunda, mevcut MySQL veri dizininin tamam\u0131n\u0131 bar\u0131nd\u0131racak kadar yeterli bo\u015f disk alan\u0131 bulunmal\u0131d\u0131r. Ta\u015f\u0131ma i\u015flemi s\u0131ras\u0131nda, eski dizin silinene kadar hem eski hem de yeni konumda verilerin bir kopyas\u0131 bulunaca\u011f\u0131ndan, en az iki kat\u0131 kadar bo\u015f alana sahip olman\u0131z \u00f6nerilir. Yeni disk alan\u0131n\u0131n performans \u00f6zellikleri (IOPS, gecikme s\u00fcresi) mevcut diskten daha iyi veya en az\u0131ndan ayn\u0131 seviyede olmal\u0131d\u0131r, aksi takdirde performans d\u00fc\u015f\u00fc\u015fleri ya\u015fanabilir.<\/p>\n<p>Yeni disk b\u00f6l\u00fcm\u00fcn\u00fcn veya dizininin do\u011fru \u015fekilde ba\u011fland\u0131\u011f\u0131ndan ve eri\u015filebilir oldu\u011fundan emin olun. \u00d6rne\u011fin, <code>\/mnt\/new_data_drive<\/code> gibi bir konum kullanabilirsiniz.<\/p>\n<h3>Yedekleme<\/h3>\n<p>Bu, ta\u015f\u0131ma i\u015fleminin en kritik ad\u0131m\u0131d\u0131r. Herhangi bir veri kayb\u0131n\u0131 \u00f6nlemek i\u00e7in, ta\u015f\u0131ma i\u015flemine ba\u015flamadan \u00f6nce mevcut t\u00fcm MySQL veritabanlar\u0131n\u0131z\u0131n eksiksiz bir yede\u011fini alman\u0131z ZORUNLUDUR. \u0130ki ana yedekleme t\u00fcr\u00fc vard\u0131r: mant\u0131ksal ve fiziksel yedekleme.<\/p>\n<h4>Mant\u0131ksal Yedekleme (mysqldump)<\/h4>\n<p>Mant\u0131ksal yedekleme, veritaban\u0131 \u015femalar\u0131n\u0131 ve verileri SQL ifadeleri olarak d\u0131\u015fa aktar\u0131r. Bu, veritaban\u0131n\u0131n yap\u0131s\u0131n\u0131 ve i\u00e7eri\u011fini kaydetmenin en yayg\u0131n yollar\u0131ndan biridir ve genellikle daha k\u00fc\u00e7\u00fck veritabanlar\u0131 i\u00e7in tercih edilir.<\/p>\n<pre><code class=\"language-bash\">mysqldump -u root -p --all-databases > \/path\/to\/secure\/backup\/all_databases_backup.sql<\/code><\/pre>\n<p>Bu komut, t\u00fcm veritabanlar\u0131n\u0131 yedekleyecektir. Yede\u011fi, ta\u015f\u0131d\u0131\u011f\u0131n\u0131z diskten farkl\u0131 bir yerde (\u00f6rne\u011fin, harici bir depolama birimi veya ba\u015fka bir sunucu) saklad\u0131\u011f\u0131n\u0131zdan emin olun.<\/p>\n<h4>Fiziksel Yedekleme (rsync\/tar)<\/h4>\n<p>Fiziksel yedekleme, MySQL veri dizininin do\u011frudan kopyalanmas\u0131d\u0131r. Bu, \u00f6zellikle b\u00fcy\u00fck veritabanlar\u0131 i\u00e7in daha h\u0131zl\u0131 bir geri y\u00fckleme y\u00f6ntemi sunar. Ta\u015f\u0131ma i\u015flemi s\u0131ras\u0131nda kullanaca\u011f\u0131m\u0131z <code>rsync<\/code> komutu, asl\u0131nda bir t\u00fcr fiziksel yedekleme g\u00f6revi g\u00f6recektir. Ancak, yine de ayr\u0131 bir fiziksel yedekleme almak ekstra g\u00fcvenlik sa\u011flar.<\/p>\n<pre><code class=\"language-bash\"># MySQL servisini durdurun\nsudo systemctl stop mysql\n\n<h2>Veri dizinini kopyalay\u0131n<\/h2>\nsudo rsync -av \/var\/lib\/mysql \/path\/to\/secure\/backup\/mysql_physical_backup\n\n<h2>MySQL servisini ba\u015flat\u0131n (sadece yedekleme ama\u00e7l\u0131 durdurulduysa)<\/h2>\nsudo systemctl start mysql<\/code><\/pre>\n<p>Bu fiziksel yedekleme, veri dizinindeki t\u00fcm dosyalar\u0131 (InnoDB g\u00fcnl\u00fck dosyalar\u0131, tablo dosyalar\u0131 vb.) kopyalar.<\/p>\n<h3>Mevcut Veri Dizinini Belirleme<\/h3>\n<p>MySQL&#8217;in \u015fu anda hangi veri dizinini kulland\u0131\u011f\u0131n\u0131 bilmek \u00f6nemlidir. Bu bilgiyi birka\u00e7 farkl\u0131 yolla edinebilirsiniz:<\/p>\n<p>1.  <strong>MySQL Komut Sat\u0131r\u0131ndan:<\/strong><\/p>\n<pre><code class=\"language-bash\">mysql -u root -p\n    SHOW VARIABLES LIKE 'datadir';\n    EXIT;<\/code><\/pre>\n<p>    Bu komut, <code>datadir<\/code> de\u011fi\u015fkeninin de\u011ferini g\u00f6sterecektir. \u00c7o\u011fu Ubuntu kurulumunda bu <code>\/var\/lib\/mysql\/<\/code> \u015feklindedir.<\/p>\n<p>2.  <strong>MySQL Yap\u0131land\u0131rma Dosyalar\u0131ndan:<\/strong><br \/>\n    MySQL yap\u0131land\u0131rma dosyalar\u0131 genellikle <code>\/etc\/mysql\/my.cnf<\/code> veya <code>\/etc\/mysql\/mysql.conf.d\/mysqld.cnf<\/code> konumunda bulunur. Bu dosyalarda <code>datadir<\/code> de\u011fi\u015fkenini arayarak mevcut dizini bulabilirsiniz.<\/p>\n<pre><code class=\"language-bash\">grep \"datadir\" \/etc\/mysql\/my.cnf \/etc\/mysql\/mysql.conf.d\/*.cnf<\/code><\/pre>\n<h3>SELinux\/AppArmor Kontrol\u00fc<\/h3>\n<p>Ubuntu 16.04, sistem g\u00fcvenli\u011fini art\u0131rmak i\u00e7in AppArmor adl\u0131 bir g\u00fcvenlik mod\u00fcl\u00fc kullan\u0131r. AppArmor, uygulamalar\u0131n belirli sistem kaynaklar\u0131na (dosyalar, dizinler, a\u011f portlar\u0131 vb.) eri\u015fimini k\u0131s\u0131tlayan profiller tan\u0131mlar. MySQL i\u00e7in de bir AppArmor profili mevcuttur ve bu profil, MySQL&#8217;in yaln\u0131zca <code>\/var\/lib\/mysql<\/code> gibi belirli dizinlere eri\u015fmesine izin verir. Veri dizinini yeni bir konuma ta\u015f\u0131d\u0131\u011f\u0131m\u0131zda, AppArmor profilini de bu yeni konumu i\u00e7erecek \u015fekilde g\u00fcncellememiz gerekecektir.<\/p>\n<p>AppArmor&#8217;\u0131n durumunu kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo apparmor_status<\/code><\/pre>\n<p>Bu komut, y\u00fckl\u00fc ve etkin AppArmor profillerini listeleyecektir. <code>usr.sbin.mysqld<\/code> profilinin listelendi\u011finden emin olun. E\u011fer AppArmor devre d\u0131\u015f\u0131ysa, bu ad\u0131m\u0131 atlayabilirsiniz ancak g\u00fcvenlik riskleri ta\u015f\u0131yabilir.<\/p>\n<p>T\u00fcm bu \u00f6n haz\u0131rl\u0131klar tamamland\u0131\u011f\u0131nda, MySQL veri dizinini ta\u015f\u0131ma i\u015flemine g\u00fcvenle ba\u015flayabiliriz.<\/p>\n<h2>MySQL Veri Dizinini Ta\u015f\u0131ma Ad\u0131mlar\u0131<\/h2>\n<p>\u015eimdi, MySQL veri dizinini Ubuntu 16.04&#8217;te yeni bir konuma ta\u015f\u0131mak i\u00e7in gereken ad\u0131mlar\u0131 ayr\u0131nt\u0131l\u0131 olarak inceleyelim. Her ad\u0131m, olas\u0131 sorunlar\u0131 \u00f6nlemek ve veri b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc sa\u011flamak i\u00e7in dikkatle uygulanmal\u0131d\u0131r.<\/p>\n<h3>Ad\u0131m 1: MySQL Servisini Durdurma<\/h3>\n<p>Veri dizinini kopyalamadan \u00f6nce MySQL servisinin tamamen durdurulmas\u0131 hayati \u00f6nem ta\u015f\u0131r. E\u011fer servis \u00e7al\u0131\u015f\u0131rken veri dosyalar\u0131n\u0131 kopyalamaya \u00e7al\u0131\u015f\u0131rsan\u0131z, tutars\u0131z veya bozuk bir veri kopyas\u0131 elde edebilirsiniz, bu da veri kayb\u0131na yol a\u00e7abilir.<\/p>\n<pre><code class=\"language-bash\">sudo systemctl stop mysql<\/code><\/pre>\n<p>Servisin ba\u015far\u0131yla durduruldu\u011funu do\u011frulamak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status mysql<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da &#8220;Active: inactive (dead)&#8221; veya benzeri bir ifade g\u00f6rmelisiniz.<\/p>\n<h3>Ad\u0131m 2: Veri Dizinini Yeni Konuma Kopyalama<\/h3>\n<p>MySQL veri dizinini yeni konuma kopyalamak i\u00e7in <code>rsync<\/code> komutunu kullanmak en iyi y\u00f6ntemdir. <code>rsync<\/code>, dosyalar\u0131n sahipliklerini, izinlerini, zaman damgalar\u0131n\u0131 ve di\u011fer meta verilerini koruyarak kopyalama yapar, bu da <code>cp<\/code> komutuna g\u00f6re daha g\u00fcvenlidir.<\/p>\n<p>\u00d6ncelikle, yeni veri dizininin olaca\u011f\u0131 ana dizini olu\u015fturun (e\u011fer mevcut de\u011filse). \u00d6rne\u011fin, <code>\/mnt\/mysql_data<\/code> yeni ana dizinimiz olsun.<\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/mnt\/mysql_data<\/code><\/pre>\n<p>\u015eimdi, mevcut MySQL veri dizinini yeni konuma kopyalay\u0131n. Varsay\u0131lan veri dizini <code>\/var\/lib\/mysql<\/code> ve yeni hedef dizin <code>\/mnt\/mysql_data\/mysql<\/code> olsun.<\/p>\n<pre><code class=\"language-bash\">sudo rsync -av \/var\/lib\/mysql \/mnt\/mysql_data\/<\/code><\/pre>\n<p>*   <code>-a<\/code>: Ar\u015fiv modunu etkinle\u015ftirir. Bu, dosyalar\u0131 \u00f6zyinelemeli olarak kopyalar ve sembolik ba\u011flant\u0131lar\u0131, \u00f6zel dosyalar\u0131, ayg\u0131t dosyalar\u0131n\u0131, dizinleri, izinleri, sahiplikleri ve zaman damgalar\u0131n\u0131 korur.<br \/>\n*   <code>-v<\/code>: Ayr\u0131nt\u0131l\u0131 \u00e7\u0131kt\u0131y\u0131 etkinle\u015ftirir, b\u00f6ylece kopyalanan dosyalar\u0131 g\u00f6rebilirsiniz.<\/p>\n<p>Kopyalama i\u015flemi tamamland\u0131ktan sonra, yeni dizinin sahiplik ve izinlerinin do\u011fru oldu\u011fundan emin olun. MySQL genellikle <code>mysql<\/code> kullan\u0131c\u0131s\u0131 ve <code>mysql<\/code> grubu alt\u0131nda \u00e7al\u0131\u015f\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo chown -R mysql:mysql \/mnt\/mysql_data\/mysql\nsudo chmod -R 700 \/mnt\/mysql_data\/mysql<\/code><\/pre>\n<p>*   <code>chown -R mysql:mysql<\/code>: Yeni veri dizinindeki t\u00fcm dosya ve dizinlerin sahipli\u011fini <code>mysql<\/code> kullan\u0131c\u0131s\u0131na ve <code>mysql<\/code> grubuna atar.<br \/>\n*   <code>chmod -R 700<\/code>: Yeni veri dizinindeki t\u00fcm dosya ve dizinlere yaln\u0131zca sahibinin okuma, yazma ve \u00e7al\u0131\u015ft\u0131rma izinleri olmas\u0131n\u0131 sa\u011flar. Bu, MySQL veri dizinleri i\u00e7in \u00f6nerilen g\u00fcvenli bir izin ayar\u0131d\u0131r.<\/p>\n<p>G\u00fcvenli bir geri d\u00f6n\u00fc\u015f yolu sa\u011flamak i\u00e7in, eski veri dizinini hemen silmek yerine yeniden adland\u0131rman\u0131z \u00f6nerilir:<\/p>\n<pre><code class=\"language-bash\">sudo mv \/var\/lib\/mysql \/var\/lib\/mysql_old<\/code><\/pre>\n<p>Bu, bir sorun \u00e7\u0131kmas\u0131 durumunda eski verilere h\u0131zl\u0131ca geri d\u00f6nmenizi sa\u011flar.<\/p>\n<h3>Ad\u0131m 3: MySQL Yap\u0131land\u0131rma Dosyas\u0131n\u0131 G\u00fcncelleme<\/h3>\n<p>MySQL&#8217;e yeni veri dizini konumunu bildirmek i\u00e7in yap\u0131land\u0131rma dosyas\u0131n\u0131 g\u00fcncellemeniz gerekir. Ubuntu 16.04&#8217;te bu dosya genellikle <code>\/etc\/mysql\/mysql.conf.d\/mysqld.cnf<\/code> konumundad\u0131r.<\/p>\n<p>Bir metin d\u00fczenleyici ile dosyay\u0131 a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/mysql\/mysql.conf.d\/mysqld.cnf<\/code><\/pre>\n<p><code>[mysqld]<\/code> b\u00f6l\u00fcm\u00fcn\u00fc bulun ve <code>datadir<\/code> sat\u0131r\u0131n\u0131 yeni konumu g\u00f6sterecek \u015fekilde de\u011fi\u015ftirin:<\/p>\n<pre><code class=\"language-ini\">[mysqld]\n<h2>... di\u011fer ayarlar ...<\/h2>\ndatadir = \/mnt\/mysql_data\/mysql\n<h2>... di\u011fer ayarlar ...<\/code><\/pre>\n<\/h2>\n<p>Eski <code>datadir<\/code> sat\u0131r\u0131n\u0131 yorum sat\u0131r\u0131 yapabilir veya silebilirsiniz. De\u011fi\u015fikli\u011fi kaydedin ve d\u00fczenleyiciden \u00e7\u0131k\u0131n (Nano&#8217;da <code>Ctrl+O<\/code>, <code>Enter<\/code>, <code>Ctrl+X<\/code>).<\/p>\n<h3>Ad\u0131m 4: AppArmor Politikalar\u0131n\u0131 G\u00fcncelleme<\/h3>\n<p>Ubuntu&#8217;daki AppArmor g\u00fcvenlik mod\u00fcl\u00fc, MySQL&#8217;in varsay\u0131lan dizin d\u0131\u015f\u0131ndaki herhangi bir konuma eri\u015fmesini engeller. Bu nedenle, yeni veri dizini konumunu AppArmor profiline eklemeniz gerekir.<\/p>\n<p>MySQL&#8217;in AppArmor profili <code>\/etc\/apparmor.d\/usr.sbin.mysqld<\/code> dosyas\u0131nda bulunur. Bu dosyay\u0131 bir metin d\u00fczenleyici ile a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/apparmor.d\/usr.sbin.mysqld<\/code><\/pre>\n<p>Bu dosyan\u0131n i\u00e7inde, <code>\/var\/lib\/mysql\/<\/code> ile ilgili sat\u0131rlar\u0131 bulacaks\u0131n\u0131z. Bu sat\u0131rlar\u0131n alt\u0131na veya yan\u0131na, yeni veri dizininizin yolunu eklemeniz gerekir. \u00d6rnek olarak, a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyebilirsiniz:<\/p>\n<pre><code class=\"language-\"># ... mevcut sat\u0131rlar ...\n\n<h2>Allow access to the new data directory<\/h2>\n\/mnt\/mysql_data\/mysql\/ r,\n\/mnt\/mysql_data\/mysql\/<em><\/em> rwk,\n\n<h2>... di\u011fer mevcut sat\u0131rlar ...<\/code><\/pre>\n<\/h2>\n<p>*   <code>\/mnt\/mysql_data\/mysql\/ r,<\/code>: MySQL&#8217;in yeni ana veri dizinine okuma eri\u015fimi sa\u011flar.<br \/>\n<em>   <code>\/mnt\/mysql_data\/mysql\/<\/em>* rwk,<\/code>: MySQL&#8217;in yeni veri dizini i\u00e7indeki t\u00fcm dosya ve alt dizinlere okuma, yazma ve kilit (<code>rwk<\/code>) eri\u015fimi sa\u011flar. Bu, veritaban\u0131 i\u015flemlerinin d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131 i\u00e7in gereklidir.<\/p>\n<p>De\u011fi\u015fiklikleri kaydedin ve dosyay\u0131 kapat\u0131n.<\/p>\n<p>AppArmor profilini g\u00fcncelledikten sonra, de\u011fi\u015fikliklerin etkili olmas\u0131 i\u00e7in AppArmor servisini yeniden y\u00fcklemeniz gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl reload apparmor<\/code><\/pre>\n<p>Bu ad\u0131m\u0131n do\u011fru yap\u0131lmas\u0131, MySQL&#8217;in yeni konumdaki verilere eri\u015febilmesi i\u00e7in kritik \u00f6neme sahiptir. E\u011fer bu ad\u0131m\u0131 atlarsan\u0131z veya yanl\u0131\u015f yap\u0131land\u0131r\u0131rsan\u0131z, MySQL servisi ba\u015flamayacakt\u0131r.<\/p>\n<h3>Ad\u0131m 5: MySQL Servisini Ba\u015flatma ve Do\u011frulama<\/h3>\n<p>T\u00fcm yap\u0131land\u0131rma de\u011fi\u015fikliklerini yapt\u0131ktan sonra, MySQL servisini ba\u015flatabilir ve her \u015feyin d\u00fczg\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in do\u011frulama yapabilirsiniz.<\/p>\n<p>MySQL servisini ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start mysql<\/code><\/pre>\n<p>Servisin ba\u015far\u0131yla ba\u015flad\u0131\u011f\u0131n\u0131 kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status mysql<\/code><\/pre>\n<p>E\u011fer servis aktif ve \u00e7al\u0131\u015f\u0131r durumda g\u00f6r\u00fcn\u00fcyorsa (&#8220;Active: active (running)&#8221;), sonraki do\u011frulama ad\u0131mlar\u0131na ge\u00e7ebilirsiniz. E\u011fer ba\u015flamazsa, hata g\u00fcnl\u00fcklerini kontrol etmeniz gerekecektir (bir sonraki b\u00f6l\u00fcmde ele al\u0131nacakt\u0131r).<\/p>\n<p>MySQL&#8217;e ba\u011flan\u0131n ve <code>datadir<\/code> de\u011fi\u015fkeninin yeni konumu g\u00f6sterdi\u011finden emin olun:<\/p>\n<pre><code class=\"language-bash\">mysql -u root -p\nSHOW VARIABLES LIKE 'datadir';\nEXIT;<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>datadir<\/code> de\u011ferinin <code>\/mnt\/mysql_data\/mysql\/<\/code> olarak g\u00f6r\u00fcnd\u00fc\u011f\u00fcnden emin olun.<\/p>\n<p>Son olarak, veritabanlar\u0131n\u0131z\u0131n eri\u015filebilir oldu\u011fundan ve d\u00fczg\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in basit bir sorgu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">mysql -u root -p -e \"SHOW DATABASES;\"<\/code><\/pre>\n<p>Veya belirli bir veritaban\u0131ndaki bir tablodan veri \u00e7ekmeyi deneyin:<\/p>\n<pre><code class=\"language-bash\">mysql -u root -p -e \"USE your_database_name; SELECT COUNT(*) FROM your_table_name;\"<\/code><\/pre>\n<p>E\u011fer t\u00fcm veritabanlar\u0131n\u0131z ve tablolar\u0131n\u0131z beklendi\u011fi gibi g\u00f6r\u00fcn\u00fcyorsa ve sorgular sorunsuz \u00e7al\u0131\u015f\u0131yorsa, ta\u015f\u0131ma i\u015flemi ba\u015far\u0131l\u0131 olmu\u015ftur.<\/p>\n<h3>Ad\u0131m 6: Eski Veri Dizinini Kald\u0131rma<\/h3>\n<p>Ta\u015f\u0131ma i\u015fleminin tamamen ba\u015far\u0131l\u0131 oldu\u011fundan ve yeni konumdaki MySQL&#8217;in sorunsuz \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olduktan sonra, daha \u00f6nce yeniden adland\u0131rd\u0131\u011f\u0131n\u0131z eski veri dizinini silebilirsiniz. Bu ad\u0131m\u0131, sistemin bir s\u00fcre (\u00f6rne\u011fin birka\u00e7 g\u00fcn) sorunsuz \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulad\u0131ktan sonra yapman\u0131z \u00f6nerilir.<\/p>\n<pre><code class=\"language-bash\">sudo rm -rf \/var\/lib\/mysql_old<\/code><\/pre>\n<p><strong>UYARI:<\/strong> Bu komut geri al\u0131namaz. Eski dizini silmeden \u00f6nce %100 emin olun.<\/p>\n<h2>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h2>\n<p>MySQL veri dizinini ta\u015f\u0131ma i\u015flemi s\u0131ras\u0131nda \u00e7e\u015fitli sorunlarla kar\u015f\u0131la\u015fmak m\u00fcmk\u00fcnd\u00fcr. \u0130\u015fte en yayg\u0131n sorunlar ve bunlar\u0131n nas\u0131l giderilece\u011fi:<\/p>\n<h3>MySQL Ba\u015flam\u0131yor<\/h3>\n<p>Bu, ta\u015f\u0131ma i\u015flemi s\u0131ras\u0131nda en s\u0131k kar\u015f\u0131la\u015f\u0131lan sorundur. MySQL&#8217;in ba\u015flamamas\u0131n\u0131n birka\u00e7 nedeni olabilir:<\/p>\n<p>1.  <strong>\u0130zinler ve Sahiplik Sorunlar\u0131:<\/strong> Yeni veri dizininin <code>mysql<\/code> kullan\u0131c\u0131s\u0131 ve grubuna ait oldu\u011fundan ve do\u011fru izinlere sahip oldu\u011fundan emin olun.<\/p>\n<pre><code class=\"language-bash\">sudo chown -R mysql:mysql \/mnt\/mysql_data\/mysql\n    sudo chmod -R 700 \/mnt\/mysql_data\/mysql<\/code><\/pre>\n<p>    Ard\u0131ndan MySQL&#8217;i tekrar ba\u015flatmay\u0131 deneyin.<\/p>\n<p>2.  <strong>AppArmor Politikas\u0131 Sorunlar\u0131:<\/strong> AppArmor&#8217;\u0131n yeni veri dizinine eri\u015fimi engellemesi en yayg\u0131n nedendir.<br \/>\n    <em>   <code>\/etc\/apparmor.d\/usr.sbin.mysqld<\/code> dosyas\u0131n\u0131 kontrol edin. Yeni dizin yolunun (<code>\/mnt\/mysql_data\/mysql\/<\/code> ve <code>\/mnt\/mysql_data\/mysql\/<\/em>*<\/code>) do\u011fru bir \u015fekilde <code>rwk<\/code> izinleriyle eklendi\u011finden emin olun.<br \/>\n    *   AppArmor&#8217;\u0131 yeniden y\u00fckleyin: <code>sudo systemctl reload apparmor<\/code>.<br \/>\n    *   Gerekirse, AppArmor&#8217;\u0131 ge\u00e7ici olarak devre d\u0131\u015f\u0131 b\u0131rakarak sorunun AppArmor&#8217;dan kaynaklan\u0131p kaynaklanmad\u0131\u011f\u0131n\u0131 test edebilirsiniz (ancak bu kal\u0131c\u0131 bir \u00e7\u00f6z\u00fcm de\u011fildir ve g\u00fcvenlik riskleri ta\u015f\u0131r):<\/p>\n<pre><code class=\"language-bash\">sudo systemctl stop apparmor\n        # MySQL'i ba\u015flatmay\u0131 deneyin\n        sudo systemctl start mysql\n        # E\u011fer MySQL ba\u015flarsa, AppArmor profilini d\u00fczeltip tekrar etkinle\u015ftirin\n        sudo systemctl start apparmor<\/code><\/pre>\n<p>3.  <strong>MySQL Yap\u0131land\u0131rma Dosyas\u0131 Hatas\u0131:<\/strong> <code>\/etc\/mysql\/mysql.conf.d\/mysqld.cnf<\/code> dosyas\u0131ndaki <code>datadir<\/code> yolu yanl\u0131\u015f olabilir. Dosyay\u0131 tekrar kontrol edin ve do\u011fru yolu girdi\u011finizden emin olun.<\/p>\n<p>4.  <strong>Disk Alan\u0131 Sorunu:<\/strong> Yeni veri dizini konumunda yeterli disk alan\u0131 olmad\u0131\u011f\u0131nda MySQL ba\u015flamayabilir. <code>df -h<\/code> komutuyla disk kullan\u0131m\u0131n\u0131 kontrol edin.<\/p>\n<p>5.  <strong>Hata G\u00fcnl\u00fcklerini Kontrol Etme:<\/strong> MySQL&#8217;in neden ba\u015flamad\u0131\u011f\u0131na dair en iyi bilgi kayna\u011f\u0131 hata g\u00fcnl\u00fckleridir.<br \/>\n    *   MySQL&#8217;in kendi hata g\u00fcnl\u00fc\u011f\u00fc: <code>\/var\/log\/mysql\/error.log<\/code> (veya <code>my.cnf<\/code> dosyas\u0131nda belirtilen ba\u015fka bir konum).<br \/>\n    *   Sistem g\u00fcnl\u00fckleri: <code>sudo journalctl -xe | grep mysql<\/code><\/p>\n<p>    Bu g\u00fcnl\u00fcklerde &#8220;Access denied&#8221;, &#8220;Permission denied&#8221;, &#8220;Can&#8217;t open file&#8221; veya &#8220;Failed to start&#8221; gibi anahtar kelimeleri aray\u0131n.<\/p>\n<h3>Veri Eri\u015fimi Sorunlar\u0131<\/h3>\n<p>MySQL ba\u015flam\u0131\u015f olsa bile, veritabanlar\u0131na veya tablolara eri\u015fimde sorunlar ya\u015fanabilir.<\/p>\n<p>1.  <strong>Bozuk Veri:<\/strong> Servis durdurulmadan kopyalama yap\u0131ld\u0131ysa veya disk hatas\u0131 olu\u015ftuysa veri bozulmu\u015f olabilir. Bu nedenle yedekleme kritik \u00f6neme sahiptir. E\u011fer veri bozulduysa, yedekten geri y\u00fcklemeniz gerekebilir.<br \/>\n2.  <strong>InnoDB Kurtarma Sorunlar\u0131:<\/strong> InnoDB motoru, ba\u015flatma s\u0131ras\u0131nda kurtarma i\u015flemi yapar. E\u011fer bu i\u015flem s\u0131ras\u0131nda bir hata olu\u015fursa, MySQL ba\u015flamayabilir veya baz\u0131 tablolar eri\u015filemez olabilir. Hata g\u00fcnl\u00fcklerini kontrol edin.<\/p>\n<h3>Performans D\u00fc\u015f\u00fc\u015f\u00fc<\/h3>\n<p>Ta\u015f\u0131ma sonras\u0131nda MySQL performans\u0131nda g\u00f6zle g\u00f6r\u00fcl\u00fcr bir d\u00fc\u015f\u00fc\u015f ya\u015fan\u0131yorsa:<\/p>\n<p>1.  <strong>Yeni Diskin Performans\u0131:<\/strong> Yeni veri dizininin bulundu\u011fu disk, eski diskten daha yava\u015f olabilir (\u00f6rne\u011fin, HDD&#8217;den daha yava\u015f bir harici depolama). Disk I\/O performans\u0131n\u0131 test edin.<br \/>\n2.  <strong>Dosya Sistemi Se\u00e7enekleri:<\/strong> Yeni disk b\u00f6l\u00fcm\u00fcn\u00fcn ba\u011flama se\u00e7enekleri (mount options) MySQL performans\u0131 i\u00e7in optimize edilmemi\u015f olabilir. \u00d6zellikle <code>noatime<\/code> ve <code>nodiratime<\/code> gibi se\u00e7enekler I\/O y\u00fck\u00fcn\u00fc azaltabilir. <code>\/etc\/fstab<\/code> dosyas\u0131n\u0131 kontrol edin.<br \/>\n3.  <strong>MySQL Yap\u0131land\u0131rmas\u0131:<\/strong> Yeni donan\u0131m \u00f6zelliklerine g\u00f6re MySQL yap\u0131land\u0131rman\u0131z\u0131 (<code>my.cnf<\/code>) g\u00f6zden ge\u00e7irmeniz ve ayarlaman\u0131z gerekebilir (\u00f6rne\u011fin, <code>innodb_buffer_pool_size<\/code>).<\/p>\n<h2>Geri Alma \u0130\u015flemi<\/h2>\n<p>E\u011fer ta\u015f\u0131ma i\u015flemi s\u0131ras\u0131nda ciddi bir sorunla kar\u015f\u0131la\u015f\u0131rsan\u0131z ve \u00e7\u00f6zemezseniz, orijinal duruma geri d\u00f6nmek (rollback) m\u00fcmk\u00fcnd\u00fcr.<\/p>\n<p>1.  <strong>MySQL Servisini Durdurma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl stop mysql<\/code><\/pre>\n<p>2.  <strong>MySQL Yap\u0131land\u0131rma Dosyas\u0131n\u0131 Geri Alma:<\/strong><br \/>\n    <code>\/etc\/mysql\/mysql.conf.d\/mysqld.cnf<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve <code>datadir<\/code> sat\u0131r\u0131n\u0131 orijinal konuma (<code>\/var\/lib\/mysql<\/code>) geri d\u00f6nd\u00fcr\u00fcn.<\/p>\n<p>3.  <strong>AppArmor Politikalar\u0131n\u0131 Geri Alma:<\/strong><br \/>\n    <code>\/etc\/apparmor.d\/usr.sbin.mysqld<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve ekledi\u011finiz yeni veri dizini yollar\u0131yla ilgili sat\u0131rlar\u0131 kald\u0131r\u0131n veya yorum sat\u0131r\u0131 yap\u0131n. Ard\u0131ndan AppArmor&#8217;\u0131 yeniden y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl reload apparmor<\/code><\/pre>\n<p>4.  <strong>Eski Veri Dizinini Geri Y\u00fckleme:<\/strong><br \/>\n    E\u011fer eski veri dizinini yeniden adland\u0131rd\u0131ysan\u0131z (<code>\/var\/lib\/mysql_old<\/code>), onu orijinal ad\u0131na geri ta\u015f\u0131y\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo mv \/var\/lib\/mysql_old \/var\/lib\/mysql<\/code><\/pre>\n<p>    E\u011fer eski dizini sildiyseniz, yedeklerinizden geri y\u00fcklemeniz gerekecektir.<\/p>\n<p>5.  <strong>MySQL Servisini Ba\u015flatma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl start mysql<\/code><\/pre>\n<p>    Servisin ba\u015far\u0131yla ba\u015flad\u0131\u011f\u0131n\u0131 do\u011frulay\u0131n ve veritabanlar\u0131n\u0131z\u0131n eri\u015filebilir oldu\u011fundan emin olun.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>MySQL veri dizinini Ubuntu 16.04 \u00fczerinde yeni bir konuma ta\u015f\u0131mak, dikkatli planlama ve ad\u0131m ad\u0131m uygulama gerektiren kritik bir sistem y\u00f6netimi g\u00f6revidir. Bu rehberde ele al\u0131nan ad\u0131mlar\u0131 ve \u00f6nlemleri takip ederek, bu i\u015flemi g\u00fcvenli ve ba\u015far\u0131l\u0131 bir \u015fekilde tamamlayabilirsiniz. \u00d6zellikle yedekleme, dosya izinleri, sahiplikler ve AppArmor politikalar\u0131n\u0131n do\u011fru yap\u0131land\u0131r\u0131lmas\u0131, veri kayb\u0131n\u0131 \u00f6nlemek ve MySQL&#8217;in sorunsuz \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamak i\u00e7in hayati \u00f6neme sahiptir.<\/p>\n<p>Unutmay\u0131n ki her sunucu ortam\u0131 benzersiz olabilir, bu nedenle bu ad\u0131mlar\u0131 kendi sisteminize uyarlarken dikkatli olman\u0131z ve herhangi bir de\u011fi\u015fiklik yapmadan \u00f6nce her zaman yedek alman\u0131z \u015fiddetle tavsiye edilir. Ba\u015far\u0131l\u0131 bir ta\u015f\u0131ma i\u015flemi, sisteminizin performans\u0131n\u0131 ve esnekli\u011fini art\u0131rarak uzun vadede \u00f6nemli faydalar sa\u011flayacakt\u0131r.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"MySQL Veri Dizinini Ubuntu 16.04&#8217;te Yeni Bir Konuma Ta\u015f\u0131ma\nGiri\u015f\nMySQL veri dizinini (datadir) varsay\u0131lan konumundan ba\u015fka bir yere ta\u015f\u0131mak, v","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-34865","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>MySQL Veri Dizinini Ubuntu 16.04&#039;te Yeni Bir Konuma Ta\u015f\u0131ma - 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\/mysql-veri-dizinini-ubuntu-16-04te-yeni-bir-konuma-tasima\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MySQL Veri Dizinini Ubuntu 16.04&#039;te Yeni Bir Konuma Ta\u015f\u0131ma\" \/>\n<meta property=\"og:description\" content=\"MySQL Veri Dizinini Ubuntu 16.04&#039;te Yeni Bir Konuma Ta\u015f\u0131ma Giri\u015f MySQL veri dizinini (datadir) varsay\u0131lan konumundan ba\u015fka bir yere ta\u015f\u0131mak, v\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/mysql-veri-dizinini-ubuntu-16-04te-yeni-bir-konuma-tasima\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-22T22:40:39+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=\"15 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mysql-veri-dizinini-ubuntu-16-04te-yeni-bir-konuma-tasima\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mysql-veri-dizinini-ubuntu-16-04te-yeni-bir-konuma-tasima\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"MySQL Veri Dizinini Ubuntu 16.04&#8217;te Yeni Bir Konuma Ta\u015f\u0131ma\",\"datePublished\":\"2025-11-22T22:40:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mysql-veri-dizinini-ubuntu-16-04te-yeni-bir-konuma-tasima\/\"},\"wordCount\":2576,\"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\/mysql-veri-dizinini-ubuntu-16-04te-yeni-bir-konuma-tasima\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mysql-veri-dizinini-ubuntu-16-04te-yeni-bir-konuma-tasima\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/mysql-veri-dizinini-ubuntu-16-04te-yeni-bir-konuma-tasima\/\",\"name\":\"MySQL Veri Dizinini Ubuntu 16.04'te Yeni Bir Konuma Ta\u015f\u0131ma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-22T22:40:39+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mysql-veri-dizinini-ubuntu-16-04te-yeni-bir-konuma-tasima\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/mysql-veri-dizinini-ubuntu-16-04te-yeni-bir-konuma-tasima\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mysql-veri-dizinini-ubuntu-16-04te-yeni-bir-konuma-tasima\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MySQL Veri Dizinini Ubuntu 16.04&#8217;te Yeni Bir Konuma Ta\u015f\u0131ma\"}]},{\"@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":"MySQL Veri Dizinini Ubuntu 16.04'te Yeni Bir Konuma Ta\u015f\u0131ma - 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\/mysql-veri-dizinini-ubuntu-16-04te-yeni-bir-konuma-tasima\/","og_locale":"tr_TR","og_type":"article","og_title":"MySQL Veri Dizinini Ubuntu 16.04'te Yeni Bir Konuma Ta\u015f\u0131ma","og_description":"MySQL Veri Dizinini Ubuntu 16.04'te Yeni Bir Konuma Ta\u015f\u0131ma Giri\u015f MySQL veri dizinini (datadir) varsay\u0131lan konumundan ba\u015fka bir yere ta\u015f\u0131mak, v","og_url":"https:\/\/fatihsoysal.com\/blog\/mysql-veri-dizinini-ubuntu-16-04te-yeni-bir-konuma-tasima\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-22T22:40:39+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"15 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/mysql-veri-dizinini-ubuntu-16-04te-yeni-bir-konuma-tasima\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/mysql-veri-dizinini-ubuntu-16-04te-yeni-bir-konuma-tasima\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"MySQL Veri Dizinini Ubuntu 16.04&#8217;te Yeni Bir Konuma Ta\u015f\u0131ma","datePublished":"2025-11-22T22:40:39+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/mysql-veri-dizinini-ubuntu-16-04te-yeni-bir-konuma-tasima\/"},"wordCount":2576,"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\/mysql-veri-dizinini-ubuntu-16-04te-yeni-bir-konuma-tasima\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/mysql-veri-dizinini-ubuntu-16-04te-yeni-bir-konuma-tasima\/","url":"https:\/\/fatihsoysal.com\/blog\/mysql-veri-dizinini-ubuntu-16-04te-yeni-bir-konuma-tasima\/","name":"MySQL Veri Dizinini Ubuntu 16.04'te Yeni Bir Konuma Ta\u015f\u0131ma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-22T22:40:39+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/mysql-veri-dizinini-ubuntu-16-04te-yeni-bir-konuma-tasima\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/mysql-veri-dizinini-ubuntu-16-04te-yeni-bir-konuma-tasima\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/mysql-veri-dizinini-ubuntu-16-04te-yeni-bir-konuma-tasima\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"MySQL Veri Dizinini Ubuntu 16.04&#8217;te Yeni Bir Konuma Ta\u015f\u0131ma"}]},{"@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\/34865","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=34865"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34865\/revisions"}],"predecessor-version":[{"id":34866,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34865\/revisions\/34866"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=34865"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=34865"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=34865"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}