// Posted by :ROOTAYYILDIZ




MySQL / MariaDB root şifrenizi unuttuysanız bu doküman size şifrenizi kurtarmanıza yardımcı olacaktır. Birçok kullanıcının başına gelebilecek olan bu durum basitçe anlatılmıştır.

Gereksinimler

MySQL veya MariaDB’ nin üzerinde çalıştığı Linux sunucunuza sudo yetkili hesabınızla giriş yapmalısınız.

Veritabanı Sürümü Kontrolü

Aşağıdaki komut bize veritabanımızın sürümü hakkında bilgi verecektir.
$ mysql --version
MySQL veritabanı çalışıyorsa sunucunuzda aşağıdakine benzer bir çıktı ile karşılaşacaksınız.
mysql Ver 14.14 Distrib 5.5.53, for debian-linux-gnu (x86_64) using readline 6.3
MariaDB veritabanı çalışıyorsa sunucunuzda aşağıdakine benzer bir çıktı ile karşılaşacaksınız.
mysql Ver 15.1 Distrib 5.5.52-MariaDB, for Linux (x86_64) using readline 5.1
Şimdi burada hangi veritabanı türü ve sürümünü kullandığımızı not etmemiz gerek. Dokümanın ilerleyen kısımlarında bu bilgiler işimize yarayacak.

Veritabanının Durdurulması

Root şifresini değiştirmeden ömce çalışan veritabanını durdurmamız gerekmketedir.
Aşağıdaki komut ile MySQL veritabanınızı durdurabilirsiniz.
$ sudo systemctl stop mysql
Aşağıdaki komut ile MariaDB veritabanınızı durdurabilirsiniz.
$ sudo systemctl stop mariadb

İzin Kontrolü Olmadan Veritabanının Başlatılması

Eğer MySQL veya MariaDB veritabanlarınızı kullanıcı ayrıcalıkları olmadan çalıştırırsanız şifresiz olarak veritabanı komut satırına erişim sağlayabilirsiniz.
Bunu yapabilmek için kullanıcı ayrıcalıkları bilgilerini tutan grant tables’ ı ve başka kullanıcıların erişimini önleyen networking’ i durdumanız gerekmektedir.
Veritabanını hem grant tables’ ı yüklemeden hem de networking’ i başlatmadan aşağıdaki komut ile çalıştırmalıyız.
$ sudo mysqld_safe --skip-grant-tables --skip-networking &
Buradaki ampersand(&) karakterini kullanmamızın sebebi ilgili işlemi arka plana göndermek içindir, bu şekilde ilgili işlem arka plan da çalışmaya devam ederken biz de sunucu üzerinde işlemlerimize devam edebiliriz.
Şimdi veritabanımızı root kullanıcısı ile açıyoruz. Şu anda bizden şifre istememesi gerekmektedir.
$ mysql -u root
MySQL çalışan sunucumuzda aşağıdaki gibi bir çıktı ile karşılaşacaksınız.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>
MariaDB çalışan sunucumuzda aşağıdaki gibi bir çıktı ile karşılaşacaksınız.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

Root Şifresinin Değiştirilmesi

ALTER USER komutu ile MySQL veritabanı root şifresini değiştirebiliriz. Ancak öncesinde çalışmasını engellediğimiz grant tables’ ın tekrardan yüklenmesini sağlamamız gerekmektedir.
Aşağıdaki komut ile veritabanı yetkilendirmelerinin tekrardan okunarak, güncel olmasını sağlamalısınız.
mysql> FLUSH PRIVILEGES;
MySQL 5.7.6 / MariaDB 10.1.20 ve daha yeni sürümler için aşağıdaki şekilde root şifresini değiştirebiliriz.
 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Yeni_rootSifreniz';
MySQL 5.7.5 / MariaDB 10.1.20 ve daha eski sürümleri için aşağıdaki şekilde root şifresini değiştirebiliriz.
 mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('Yeni_rootSifreniz');
Aşağıdaki gibi bir çıktı ile karşılaşacaksınız.
Query OK, 0 rows affected (0.00 sec)
Eğer ALTER USER komutu işe yaramadıysa aşağıdaki UPDATE … SET komutları ile root şifrenizi sıfırlamayı deneyebilirsiniz.
mysql> UPDATE mysql.user SET authentication_string = PASSWORD('Yeni_rootSifreniz') WHERE User = 'root' AND Host = 'localhost';
Bu işlem sonrasında grant tables’ ı tekrar aktif etmeyi unutmayınız. Bu işlem için aşağıdaki komut ile veritabanı yetkilendirmelerinin tekrardan okunarak, güncel olmasını sağlamalısınız.
mysql> FLUSH PRIVILEGES;

Veritabanının Tekrardan Normal Şekilde Başlatılması

Tüm aşamaları başarılı şekilde yapıp root şifresini sıfırladıktan sonra artık veritabanımızı normal şekilde çalıştırıp, root kullanıcısı ile erişim sağlayabilirsiniz.
MySQL işleminin sonlanması için aşağıdaki komut yardımcı olacaktır.
$ sudo kill `cat /var/run/mysqld/mysqld.pid`
MariaDB işleminin sonlanması için aşağıdaki komut yardımcı olacaktır.
$ sudo kill `/var/run/mariadb/mariadb.pid`
Şimdi MySQL veya MariaDB veritabanı çalışan sunucumuzda ilgili servisleri tekrar çalıştıralım.
MySQL veritabanı için aşağıdaki komut yardımcı olacaktr.
$ sudo systemctl start mysql
MariaDB veritabanı için aşağıdaki komut yardımcı olacaktr.
$ sudo systemctl start mariadb
Şimdi yeni verdiğimiz root şifresi ile giriş yapabiliriz.
$ mysql -u root -p
Bu komut sonrası yeni atadığınız şifre ile başarılı şekilde veritabanınıza giriş yapabilirsiniz.

Leave a Reply

Subscribe to Posts | Subscribe to Comments

[ root ⚔ αyyιldιz ]