MySQL 8.0'da Kök Şifre Nasıl Sıfırlanır


MySQL root şifrenizi unutmak veya kaybetmek gibi talihsiz bir durumda, onu bir şekilde kurtarmanın bir yoluna mutlaka ihtiyacınız olacaktır. Bilmemiz gereken şey şifrenin kullanıcılar tablosunda saklandığıdır. Bu, şifre kaydını güncelleyebilmemiz için MySQL kimlik doğrulamasını atlamanın bir yolunu bulmamız gerektiği anlamına gelir.

Neyse ki ulaşılması kolay bir yol var ve bu eğitim MySQL 8.0 sürümünde root şifresini kurtarma veya sıfırlama sürecinde size rehberlik edecek.

MySQL belgelerine göre kök MySQL şifresini sıfırlamanın iki yolu vardır. Her ikisini de inceleyeceğiz.

–init-file Kullanarak MySQL Kök Parolasını Sıfırlayın

Kök şifresini sıfırlamanın yollarından biri, yerel bir dosya oluşturmak ve ardından gösterildiği gibi --init-file seçeneğini kullanarak MySQL hizmetini başlatmaktır.

vim /home/user/init-file.txt

Dosyanın MySQL kullanıcısı tarafından okunabildiğinden emin olmanız önemlidir. Bu dosyanın içine aşağıdakileri yapıştırın:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

Yukarıdaki "yeni_şifre"yi kullanmak istediğiniz şifreyle değiştirin.

Şimdi MySQL hizmetinin durdurulduğundan emin olun. Aşağıdakileri yapabilirsiniz:

systemctl stop mysqld.service     # for distros using systemd 
/etc/init.d/mysqld stop           # for distros using init

Daha sonra aşağıdakileri çalıştırın:

mysqld --user=mysql --init-file=/home/user/init-file.txt --console

Bu, MySQL hizmetini başlatacak ve işlem sırasında oluşturduğunuz init dosyasını çalıştıracak ve böylece root kullanıcısının şifresi güncellenecektir. Şifre sıfırlandıktan sonra dosyayı sildiğinizden emin olun.

Bundan sonra sunucuyu durdurduğunuzdan ve normal şekilde başlattığınızdan emin olun.

systemctl stop mysqld.service        # for distros using systemd 
systemctl restart mysqld.service     # for distros using systemd 

/etc/init.d/mysqld stop              # for distros using init
/etc/init.d/mysqld restart           # for distros using init

Artık yeni şifreyi kullanarak MySQL sunucusuna root olarak bağlanabilmeniz gerekir.

mysql -u root -p

–skip-grant-tables Kullanarak MySQL Kök Parolasını Sıfırlayın

İkinci seçeneğimiz ise MySQL hizmetini --skip-grant-tables seçeneğiyle başlatmak. Hizmet bu şekilde başlatıldığında tüm kullanıcılar parola olmadan bağlanabileceğinden bu daha az güvenlidir.

Sunucu --skip-grant-tables ile başlatılırsa --skip-networking seçeneği otomatik olarak etkinleştirilir ve böylece uzak bağlantılar kullanılamaz.

Öncelikle MySQL hizmetinin durdurulduğundan emin olun.

systemctl stop mysqld.service     # for distros using systemd 
/etc/init.d/mysqld stop           # for distros using init

Daha sonra servisi aşağıdaki seçenekle başlatın.

mysqld --skip-grant-tables --user=mysql &

Daha sonra basitçe çalıştırarak mysql sunucusuna bağlanabilirsiniz.

mysql

Hizmet --skip-grant-tables seçeneğiyle başlatıldığında hesap yönetimi devre dışı bırakıldığı için hibeleri yeniden yüklememiz gerekecek. Bu şekilde şifreyi daha sonra değiştirebileceğiz:

FLUSH PRIVILEGES;

Artık şifreyi güncellemek için aşağıdaki sorguyu çalıştırabilirsiniz. “Yeni_şifre”yi kullanmak istediğiniz gerçek şifreyle değiştirdiğinizden emin olun.

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_passowrd';

Şimdi MySQL sunucusunu durdurun ve normal şekilde başlatın.

systemctl stop mysqld.service        # for distros using systemd 
systemctl restart mysqld.service     # for distros using systemd 

/etc/init.d/mysqld stop              # for distros using init
/etc/init.d/mysqld restart           # for distros using init

Yeni şifrenizle bağlanabilmeniz gerekir.

mysql -u root -p

Ayrıca MySQL ile ilgili aşağıdaki faydalı makaleleri de okumak isteyebilirsiniz.

  1. CentOS, RHEL ve Fedora'ya MySQL 8 Nasıl Kurulur
  2. 15 Faydalı MySQL Performans Ayarlama ve Optimizasyon İpuçları
  3. Linux için 12 MySQL Güvenlik Uygulaması
  4. MySQL Performansını İzlemek için 4 Faydalı Komut Satırı Aracı
  5. MySQL Veritabanı Yönetim Komutları
Çözüm

Bu makalede MySQL 8.0 sunucusu için kayıp root şifresinin nasıl sıfırlanacağını öğrendiniz. Umarım süreç kolay olmuştur.