MySQL veritabanı ve tablo dosyaları UNIX ya da Linux işletim sisteminde nereye kaydediliyor? MySQL verileri Linux'ta nereye kaydediyor? Hangi komutları kullanarak MySQL verilerinin yerini bulabilirim?
Bu soruları neden soruyorum? :)
Çünkü TryHackme Linux Challenges içerisinde benden bir MySQL veritabanı içerisinde yer alan bir tablo adını bulmamı (tablonun adına flag koymuşlar) ardından da bu tablo içeriğinde yer alan farklı bir flag bulmamı istiyor.
Böylece benim gibi yeni başlayanlar için de MySQL konusuna bir giriş yapmak ve araştırmak için bir fırsat çıkıyor.
MySQL verilerinin Linux'ta nereye kaydedildiğini görmek için kolay bir yöntem var:
Genellikle /var/lib/mysql ya da /var/db/mysql dizinleribu veritabanlarını saklamak için kullanılıyor.
MySQL datadir bulmak için aşağıdaki komutu kullanılabiliyor:grep datadir /etc/my.cnf
datadir=/var/lib/mysql
ya da
grep -r datadir /etc/mysql/
Datadir'i gösterecek başka bir komut:
ps -eo cmd,args | grep mysql
Sonrasında tek yapmanız gereken cd komutuyla /var/lib/mysql dizinine gitmek
$ cd /var/lib/mysql
$ ls -l
MS-Windows'da veri dizininin konumunu bulmak için:
İlk olarak my.ini dosyasını açmak gerekiyor.
Cmd.exe'ye aşağıdaki komutu yazılabilir:
cd %PROGRAMDATA%\MySQL\MySQL Server 5.7\my.ini
My.ini dosyasının not defteri gibi tercih edilen bir metin düzenleyici ile açmak gerekir.
notepad my.ini