Ana içeriğe geç

MariaDB root ve sıradan kullanıcılar için şifre nasıl değiştirilir

· 3 dakikalık okuma
Customer Care Engineer

MariaDB root şifrenizi mi unuttunuz? Bu olmadan kullanıcıları, veritabanlarını yönetemez veya kritik yapılandırmalar yapamazsınız. Bu makalede, sadece MariaDB root şifresini nasıl hızlı bir şekilde sıfırlayacağınızı değil, aynı zamanda sıradan kullanıcılar için şifreyi nasıl sıfırlayacağınızı da öğreneceksiniz.

MySQL için lütfen ayrı kılavuzumuza başvurun.

bilgi

Root kullanıcı veritabanının ana yöneticisidir. Tüm verilere ve ayarlara tam erişime sahiptirler. Bu şifreyi kaybederseniz, bazı ayarları değiştiremez veya komutları çalıştıramazsınız.

Tüm işlemler SSH üzerinden komut satırı aracılığıyla gerçekleştirilecektir. SSH kullanarak sunucunuza nasıl bağlanacağınıza dair ayrıntılı talimatları bu makalede bulabilirsiniz.

Devam etmeden önce /root/.my.cnf dosyasının içeriğini kontrol edin. Genellikle, MariaDB'ye erişmek için mevcut root şifresini içerir.

Bağlantıyı test etmek için şu komutu kullanın:

mysql -u root -p 

Ardından, .my.cnf dosyasındaki şifreyi girin.

Şifre çalışmazsa, aşağıdaki talimatları izleyin.


Şifreyi sıfırlama

bilgi

Aşağıdaki komutların çoğunda, MariaDB sunucusuyla etkileşim kurmak için mariadb yerine mysql komutu kullanılacaktır. Bunun nedeni, RHEL tabanlı dağıtımlar (RockyLinux, AlmaLinux vb.) gibi bazı işletim sistemlerinde mariadb komutunun kullanılamamasıdır. Bunun yerine, MySQL ile uyumluluk için mysql komutu kullanılır.

mysql komutunu kullanmak, sunucunun dağıtımına veya uygulamasından bağımsız olarak evrensel uyumluluk sağlar.

Adım 1: MariaDB'yi Durdurun

Şifreyi sıfırlamak için önce MariaDB sunucusunu durdurun. Şu komutu girin:

systemctl stop mariadb

Adım 2: Sunucuyu güvenli modda yeniden başlatın

  • Debian ve Ubuntu için:

MariaDB'nin çalışacağı dizinin var olduğundan ve doğru sahibe sahip olduğundan emin olun:

mkdir -p /var/run/mysqld/ && chown -R mysql: /var/run/mysqld/

MariaDB sunucusunu erişim kontrolü olmadan başlatın:

mysqld_safe --skip-grant-tables --socket=/var/run/mysqld/mysqld.sock &

MariaDB sunucusu başarıyla başlarsa, aşağıdaki gibi bir mesaj görürsünüz:

2024-11-28T23:50:19.298141Z mysqld_safe Starting mariadb daemon with databases from /var/lib/mysql

Komut satırında çalışmaya devam etmek için “Ctrl + C” tuşlarına basın.

  • CentOS/RockyLinux/AlmaLinux için:

MariaDB sunucusunu erişim kontrolü olmadan başlatın:

mysqld_safe --skip-grant-tables --socket=/var/lib/mysql/mysql.sock &

Komut satırında çalışmaya devam etmek için “Ctrl + C” tuşlarına basın.

Adım 3: MariaDB'ye Bağlanın

  • Debian ve Ubuntu için:
mysql --socket=/var/run/mysqld/mysqld.sock
  • CentOS/RockyLinux/AlmaLinux için:
mysql --socket=/var/lib/mysql/mysql.sock

Adım 4: Parolayı sıfırlayın

Aşağıdaki komutları sırayla çalıştırın:

FLUSH PRIVILEGES;

Yerel bir kullanıcı için:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'YeniŞifre';

Ağ kullanıcısı için (varsa):

ALTER USER 'root'@'%' IDENTIFIED BY 'YeniŞifre';

Sonra:

FLUSH PRIVILEGES;

YeniŞifre yerine istediğiniz yeni şifreyi girin.

bilgi

'user'@'localhost' — soket veya localhost aracılığıyla bağlanan yerel bir kullanıcıyı ifade eder. 'user'@'%' — herhangi bir IP adresinden erişimi olan bir ağ kullanıcısını ifade eder.

Bu kullanıcılar için aynı veya farklı şifreler belirleyebilirsiniz. Ağ kullanıcısı mevcut değilse, @'%' komutu bir hatayla sonuçlanacaktır.

Çıkış komutunu kullanarak veya “Ctrl + D” tuşlarına basarak MariaDB'den çıkın.

Adım 5: MariaDB'yi Yeniden Başlatın

MariaDB sunucusunu durdurun:

  • Debian ve Ubuntu için:
mysqladmin shutdown --socket=/var/run/mysqld/mysqld.sock -p

Ardından, daha önce ayarladığınız root şifresini girin.

  • CentOS/RockyLinux/AlmaLinux için:
mysqladmin shutdown --socket=/var/lib/mysql/mysql.sock -p

Ardından, daha önce ayarladığınız root şifresini girin.

MariaDB'yi normal modda başlatın:

systemctl start mariadb

Sıradan kullanıcılar için parolayı sıfırlama

Root dışındaki bir kullanıcı için şifreyi unutursanız, yaklaşım benzerdir:

  1. Root olarak MariaDB sunucusuna bağlanın:
mysql -u root -p

MariaDB kök parolanızı girin.

  1. Şifreyi değiştirmek için komutu çalıştırın:

Yerel bir kullanıcı için:

ALTER USER 'kullanıcıadı'@'localhost' IDENTIFIED BY 'YeniKullanıcıŞifresi';

Ağ kullanıcısı için (varsa):

ALTER USER 'kullanıcıadı'@'%' IDENTIFIED BY 'YeniKullanıcıŞifresi';

Sonra:

FLUSH PRIVILEGES;

kullanıcıadı yerine gerçek kullanıcı adını ve YeniKullanıcıŞifresi yerine istediğiniz yeni şifreyi değiştirin.

Çıkış komutunu kullanarak veya “Ctrl + D” tuşlarına basarak MariaDB'den çıkın.

Gerekirse, aşağıdaki sorguyla tüm kullanıcıları listeleyebilirsiniz:

SELECT User, Host FROM mysql.user;

Şifre girmeden MariaDB'ye yerel olarak nasıl bağlanılır

Sunucunuzdaki komut satırından MariaDB'ye her bağlandığınızda şifreyi manuel olarak girmemek için, bunu /root/.my.cnf dosyasına kaydedebilirsiniz. Dosyayı bir metin düzenleyicide açın:

nano /root/.my.cnf

Aşağıdaki satırları ekleyin:

[client]

user = root
password = SizinRootŞifreniz

SizinRootŞifreniz yerine gerçek root şifrenizi girin.

Dosyayı Ctrl + O tuşlarına basarak kaydedin, ardından Ctrl + X tuşlarına basarak metin düzenleyiciden çıkın.

Güvenlik amacıyla, .my.cnf dosyası için daha sıkı izinler ayarlayın:

chmod 600 /root/.my.cnf

Bundan sonra, sadece komutu çalıştırarak bağlanabilirsiniz:

mysql -u root