Merhaba,
Ubuntu kullanıyorum ama 2 özel klasörüm daha var. Bir tanesi /c dizini, diğeri ise /d dizini. /c dizininde yaptığım veya kodladığım işleri tutuyorum. Ayrıca veritabanlarını da burada tutuyorum.
Bu yazıda tamamen bana özel olan bu yapıya uygun şekilde MariaDB kurulumunu ve veriyolunu değiştirmeyi belgelendirmeye çalışacağım.
Belge çok defa güncelleme yemiştir. Bu hali ise Ubuntu 22.04 için güncellenmiş halidir.
İlk önce MariaDB kurulumunu yapıyoruz.
sudo apt-get install mariadb-server
Malesef Root parolası tanımlı değil ve tanımlanması gerekiyor. Bu işlem bir hayli can sıkıcılıkta. Aşağıdaki komutları sırasıyla kullanıyoruz. Password(‘123’) yazan kısma kendi parolanızı oluşturmayı unutmayın. Bu ayarlar tamamen yerelde PHP üstüne geliştirme yapmak amaçlıdır.
sudo pkill -9 mysqld sudo service mysql stop sudo mysqld_safe --skip-grant-tables --skip-networking & mysql -u root use mysql; flush privileges; alter user root@localhost identified via mysql_native_password using password('123'); flush privileges; \q
Benim için asıl çile şifre değiştirdikten sonra başlıyor; data yolunu değiştirmek. Veritabanlarını /c/www-db altında tutmayı tercih ediyorum.
Peki MariaDB’de tutulan veritabanlarının yolunu nasıl değiştireceğiz!
Önce mysql servisini durduruyoruz.
sudo service mysql stop
Sonra datalarımızı taşıyacağımız hedef klasörü oluşturuyoruz. (Hedef klasör zaten varsa es geçebilirsiniz.)
Sonrasında veritabanı dosyalarımızı hedef dizine taşıyoruz.
En son olarak hedef dizindeki dosyaları listeliyoruz.
Yani şu komutları vermemiz yeterli.
mkdir -p /c/www-db sudo cp -R /var/lib/mysql/* /c/www-db/ sudo chown -R mysql:mysql /c/www-db ls -lZ /c/www-db
Veritabanı dosyalarımızı yeni dizine taşıdık fakat Mariadb ayarlarının tutulduğu conf dosyamızı henüz düzenlemedik. Onu da düzenliyoruz.
sudo gedit /etc/mysql/mariadb.conf.d/50-server.cnf
Dosyanın içinde arıyoruz ve datadir değerini /c/www-db olarak değiştiriyoruz.
Sonrasında bind-address = 127.0.0.1 önüne # işareti koyup yorum haline getiriyoruz.
En sonunda MariaDB servislerini yeniden başlatıyoruz.
sudo pkill -9 mysqld sudo pkill -9 mysql sudo service mysql restart
En son yeni bir veritabanı ve veritabanı içinde tablo oluşturup, bu tabloların yeni oluşturduğumuz veritabanı yoluna kayıt olup olmadıklarına bakmakta yarar var.
Kaynaklar:
* http://www.liberiangeek.net/2014/10/reset-root-password-mariadb-centos-7/
* http://ubuntuforums.org/showthread.php?t=2275033
* http://stackoverflow.com/questions/26474222/mariadb-10-centos-7-moving-datadir-woes
* https://stackoverflow.com/questions/59941858/how-to-set-root-password-in-mariadb-10-4-on-macos
Eskisi işe yaramıyor: https://stackoverflow.com/a/65697219
FLUSH PRIVILEGES;
ALTER USER root@localhost IDENTIFIED VIA mysql_native_password
USING PASSWORD(‘my secret password’);
FLUSH PRIVILEGES;