Doküman

Ubuntu ‘da MySQL 8 Root Parolası Nasıl Sıfırlanır ?

MySQL veritabanı rootkullanıcı şifrenizi mi unuttunuz? Telaşa gerek yok!

Ubuntu Linux’ta MySQL 8’de Kök Parolayı Sıfırla

1. İlk olarak, MySQL hizmetini şu komutu kullanarak durdurun:

$ sudo systemctl stop mysql

Bukomut , çalışıyorsa MySQL hizmetini durduracaktır. MySQL hizmetinin durumunu şu komutla doğrulayabilirsiniz:

$ sudo systemctl durumu mysql
● mysql.service - MySQL Community Server
      Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
      Active: inactive (dead) since Mon 2021-05-31 11:01:15 UTC; 1min 15s ago
     Process: 1446 ExecStart=/usr/sbin/mysqld (code=exited, status=0/SUCCESS)
    Main PID: 1446 (code=exited, status=0/SUCCESS)
      Status: "Server shutdown complete"

2. Ardından, yönetici yetkisi ile MySQLhizmetini düzenleyin. Bunu yapmak için aşağıdaki komutu çalıştırın:

$ sudo systemctl edit mysql

Bu komut, varsayılan metin düzenleyiciniz ile mysql systemd yapılandırma dosyasını açacaktır. Benim tercihim , nano editörü.

İçine aşağıdaki satırları ekleyin:

[Service]
ExecStart=
ExecStart=/usr/sbin/mysqld --skip-grant-tables --skip-networking

Yukarıdaki satırları ekledikten sonra CTRL+Ove tuşlarına basarak ENTERdosyayı kaydedin ve ardından CTRL+Xkapatmak için tuşuna basın .

Buradaki --skip-grant-tables seçeneği, MySQL veritabanı sunucusuna parola olmadan ve tüm ayrıcalıklarla bağlanmanızı sağlar. Ayrıca ALTER USER ve SET PASSWORD gibi hesap yönetimi bildirimlerini de devre dışı bırakır . Ve --skip-networking seçeneği, diğer istemcilerin veritabanı sunucusuna bağlanmasını önlemek için kullanılır. Tüm uzak bağlantıları devre dışı bıraktığı için, siz veritabanı sunucusunu normal şekilde yeniden başlatana kadar istemcilerin hiçbiri veritabanı sunucusuna erişemez.

3. systemd Komutu kullanarak yapılandırmayı yeniden yükleyin:

$ sudo systemctl daemon-reload

4. MySQL hizmetini başlatın:

$ sudo systemctl start mysql

5. Şimdi MySQL sunucusuna şifresiz root kullanıcısı olarak bağlanın:

$ sudo mysql -u root

6. Tabloları yüklemeden veritabanı sunucusuna giriş yaptık (çünkü --skip-grant-tables seçeneği kullandık ). Bu yüzden şifreyi sıfırlamak için ihtiyaç duyduğumuz ALTER USER komutunu kullanamıyoruz . Tabloları yüklemek için MySQL kabuk isteminden aşağıdaki komutu çalıştırın:

mysql> FLUSH PRIVILEGES;

7. Ardından, MySQL rootparolasını sıfırlamak için aşağıdaki komutlardan size uygun olanını çalıştırın .

Eğer caching_sha2_password eklentisi kullanıyorsanız , bu komutu çalıştırın:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'Password123#@!';

mysql_native_password eklentisi kullanıyorsanız, bu komutu çalıştırın:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Password123#@!';

MySQL rootşifresini değiştirdikten sonra MySQL kabuk isteminden çıkın:

mysql> exit

8. Değiştirilen systemd konfigürasyonunu şu komutu kullanarak normal ayarlara geri döndürün :

$ sudo systemctl revert mysql

9. Değişiklikleri uygulamak için systemd yapılandırmasını yeniden yükleyin:

$ sudo systemctl daemon-reload

10. Son olarak, MySQL sunucusunu normal şekilde yeniden başlatın:

$ sudo systemctl restart mysql

11. Şimdi root, new passwordusing komutuyla MySQL veritabanına kullanıcı olarak bağlanabilmelisiniz :

$ mysql -u root -p

Yazının orijinalini buradan okuyabilirsiniz.