Ubuntu 20.04’te MySQL veya MariaDB Kök Parolanızı Nasıl Sıfırlarsınız ?

Veritabanı şifrenizi mi unuttunuz? En iyimizin başına gelir. MySQL veya MariaDB veritabanınızın kök şifresini unuttuysanız veya kaybettiyseniz , sunucuya erişiminiz ve sudoayrıcalıklara sahip bir kullanıcı hesabınız varsa yine de erişim kazanabilir ve şifreyi sıfırlayabilirsiniz .

 

Not: Yeni Ubuntu 20.04 kurulumlarında, varsayılan MySQL veya MariaDB yapılandırması, genellikle, sistemin kök hesabından bağlantı yaptığınız sürece, bir parola sağlamadan veritabanına erişmenize (tam yönetici ayrıcalıklarıyla) izin verir . Bu senaryoda, parolayı sıfırlamak gerekli olmayabilir. Veritabanı kök parolanızı sıfırlamaya geçmeden önce , sudo mysqlkomutla veritabanına erişmeyi deneyin . Yalnızca, kimlik doğrulama için varsayılan yapılandırma değiştirilmişse ve bu, erişim reddedildi hatasıyla sonuçlanıyorsa , bu öğreticideki adımları izleyin.

Adım 1 — Veritabanı Sürümünü Belirleme ve Sunucuyu Durdurma

Ubuntu 20.04, MySQL veya MariaDB’yi çalıştırır; bu, MySQL ile tamamen uyumlu, popüler bir drop-in yedeğidir. rootHangisini yüklediğinize bağlı olarak parolayı kurtarmak için farklı komutlar kullanmanız gerekecek , bu nedenle hangi veritabanı sunucusunu çalıştırdığınızı belirlemek için bu bölümdeki adımları izleyin.

Sürümünüzü aşağıdaki komutla kontrol edin:

MariaDB çalıştırıyorsanız, çıktıda sürüm numarasının önünde “MariaDB” ifadesini görürsünüz:

MySQL kullanıyorsanız şöyle bir çıktı göreceksiniz:

Çalıştırdığınız veritabanını not edin. Bu, bu öğreticinin geri kalanında izlenecek uygun komutları belirleyecektir.

Kök parolasını değiştirmek için veritabanı sunucusunu kapatmanız gerekir. MariaDB kullanıyorsanız, bunu aşağıdaki komutla yapabilirsiniz:

MySQL için, aşağıdakileri çalıştırarak veritabanı sunucusunu kapatın:

Veritabanı durdurulduğunda, kök parolasını sıfırlamak için güvenli modda yeniden başlatabilirsiniz.

Adım 2 — Veritabanı Sunucusunu İzin Kontrolleri Olmadan Yeniden Başlatma

MySQL ve MariaDB’yi izin denetimi olmadan çalıştırmak, geçerli bir parola sağlamadan kök ayrıcalıklarıyla veritabanı komut satırına erişmeyi sağlar. Bunu yapmak için, veritabanının kullanıcı ayrıcalık bilgilerini depolayan hibe tablolarını yüklemesini durdurmanız gerekir . Bu biraz güvenlik riski olduğundan, diğer istemcilerin geçici olarak savunmasız sunucuya bağlanmasını önlemek için ağı da devre dışı bırakmak isteyebilirsiniz.

Hangi veritabanı sunucusunu kurduğunuza bağlı olarak, hibe tablolarını yüklemeden sunucuyu başlatma şekli farklılık gösterir.

MariaDB’yi Hibe Tabloları Olmadan Başlayacak Şekilde Yapılandırma

MariaDB sunucusunu hibe tabloları olmadan başlatmak systemd için, MariaDB sunucu arka plan programı için ek parametreler ayarlamak üzere birim dosyasını kullanacağız .

MariaDB tarafından başlangıçta kullanılan MYSQLD_OPTS ortam değişkenini ayarlayan aşağıdaki komutu yürütün. --skip-grant-tables v--skip-networking seçenekler özellikler hibe tabloları yüklerken ya ağ olmadan başlatmak için mariadb söyle:

Ardından MariaDB sunucusunu başlatın:

Bu komut herhangi bir çıktı üretmeyecek, ancak yeni ortam değişkeni ayarlarını dikkate alarak veritabanı sunucusunu yeniden başlatacaktır.

ile başladığına emin olabilirsiniz sudo systemctl status mariadb.

Artık bir parola sağlamadan MariaDB kök kullanıcısı olarak veritabanına bağlanabilmelisiniz :

Hemen bir veritabanı kabuğu istemi göreceksiniz:

Artık veritabanı sunucusuna erişiminiz olduğuna göre, kök parolayı Adım 3’te gösterildiği gibi değiştirebilirsiniz .

MySQL’i Hibe Tabloları Olmadan Başlayacak Şekilde Yapılandırma

MySQL sunucusunu hibe tabloları olmadan başlatmak için, MySQL’in sistem yapılandırmasını, başlatma sırasında sunucuya ek komut satırı parametreleri iletecek şekilde değiştireceksiniz.

Bunu yapmak için aşağıdaki komutu yürütün:

Bu komut, nanodüzenleyicide MySQL’in hizmet geçersiz kılmalarını düzenlemek için kullanacağınız yeni bir dosya açacaktır . Bunlar MySQL için varsayılan hizmet parametrelerini değiştirir.

Bu dosya boş olacak. Aşağıdaki içeriği ekleyin:

İlk ExecStartifade varsayılan değeri temizlerken, ikincisi systemd, hibe tablolarının yüklenmesini ve ağ oluşturma yeteneklerini devre dışı bırakma parametreleri dahil olmak üzere yeni başlatma komutunu sağlar.

Basın CTRL-x, ardından dosyayı çıkmak için Ydaha sonra, yaptığınız bu değişiklikleri kaydetmek için ENTERdosya adını onaylayın.

systemdBu değişiklikleri uygulamak için yapılandırmayı yeniden yükleyin :

Şimdi MySQL sunucusunu başlatın:

Komut çıktı göstermeyecek, ancak veritabanı sunucusu başlayacaktır. Hibe tabloları ve ağ iletişimi etkinleştirilmeyecektir.

Kök kullanıcı olarak veritabanına bağlanın:

Hemen bir veritabanı kabuğu istemi göreceksiniz:

Artık sunucuya erişiminiz olduğuna göre, root şifresini değiştirebilirsiniz .

Adım 3 — Kök Parolayı Değiştirme

Veritabanı sunucusu artık sınırlı bir modda çalışıyor; hibe tabloları yüklenmez ve etkinleştirilmiş ağ desteği yoktur. Bu, bir parola sağlamadan sunucuya erişmenizi sağlar, ancak verileri değiştiren komutları yürütmenizi engeller. Kök parolasını sıfırlamak için, sunucuya erişim elde ettiğinize göre artık hibe tablolarını yüklemelisiniz.

Veritabanı sunucusuna şu FLUSH PRIVILEGES komutu vererek hibe tablolarını yeniden yüklemesini söyleyin :

Artık root şifresini değiştirebilirsiniz . Kullandığınız yöntem, MariaDB veya MySQL kullanıp kullanmadığınıza bağlıdır.

MariaDB Parolasını Değiştirme

MariaDB kullanıyorsanız, kök hesabın parolasını ayarlamak için aşağıdaki ifadeyi yürütün ve new_passwordhatırlayacağınız güçlü bir yeni parolayla değiştirdiğinizden emin olun :

Parolanın değiştiğini belirten bu çıktıyı göreceksiniz:

MariaDB, özel kimlik doğrulama mekanizmalarının kullanılmasına izin verir, bu nedenle, MariaDB’ninkök hesaba atadığınız yeni parola için varsayılan kimlik doğrulama mekanizmasını kullanacağından emin olmak için aşağıdaki iki ifadeyi yürütün :

Her ifade için aşağıdaki çıktıyı göreceksiniz:

Şifre şimdi değiştirildi. Tip exit mariadb konsolunu çıkıp normal modda veritabanı sunucusunu yeniden başlatmak için 4. Adıma devam etmek.

MySQL Parolasını Değiştirme

MySQL için, root kullanıcısının şifresini değiştirmek için aşağıdaki ifadeyi yürütün ve new_passwordhatırlayacağınız güçlü bir şifre ile değiştirin . MySQL, özel kimlik doğrulama mekanizmalarının kullanılmasına izin verir, bu nedenle aşağıdaki ifade ayrıca MySQL’in yeni parolayı kullanarak kök kullanıcının kimliğini doğrulamak için varsayılan kimlik doğrulama mekanizmasını kullanmasını sağlar:

Parolanın başarıyla değiştirildiğini belirten bu çıktıyı göreceksiniz:

Şifre şimdi değiştirildi. Yazarak MySQL konsolundan çıkın exit.

Veritabanını normal çalışma modunda yeniden başlatalım.

 

Adım 4 — Veritabanı Sunucunuzu Normal Ayarlara Döndürme

Veritabanı sunucusunu normal modunda yeniden başlatmak için, ağ oluşturmanın etkinleştirilmesi ve hibe tablolarının yüklenmesi için yaptığınız değişiklikleri geri almanız gerekir. Yine, kullandığınız yöntem, MariaDB veya MySQL kullanıp kullanmadığınıza bağlıdır.

MariaDB için MYSQLD_OPTSdaha önce ayarladığınız ortam değişkeninin ayarını kaldırın :

Ardından, aşağıdakileri kullanarak hizmeti yeniden başlatın systemctl:

MySQL için, değiştirilmiş systemd yapılandırmasını kaldırın:

Aşağıdakine benzer bir çıktı göreceksiniz:

Ardından değişiklikleri uygulamak için systemd yapılandırmasını yeniden yükleyin:

Son olarak, hizmeti yeniden başlatın:

Veritabanı şimdi yeniden başlatıldı ve normal durumuna geri döndü. Bir parola ile kök kullanıcı olarak oturum açarak yeni parolanın çalıştığını doğrulayın :

Bir şifre girmeniz istenecektir. Yeni parolanızı girin ve beklendiği gibi veritabanı istemine erişim kazanacaksınız.

Çözüm

MySQL veya MariaDB sunucusuna yönetici erişimini geri yüklediniz. Seçtiğiniz yeni parolanın güçlü ve güvenli olduğundan emin olun ve güvenli bir yerde saklayın.

Bir cevap yazın