Kullanıcı kökü localhost için hata 1045 (28000) erişimi reddedildi (Çözüldü)

Yayınlanan: 2023-03-14

"Error 1045 (28000) user root localhost için erişim reddedildi", WordPress CMS aracılığıyla MySQL'e erişmeye çalışırken yaygın olarak karşılaşılan bir hatadır. Ancak, bu hata başka durumlarda da ortaya çıkabilir.

Karşılaştığınız hata, "root" kullanıcısının localhost'tan veri tabanına erişmek için gerekli yetkilere sahip olmadığını gösteriyor. Bu sorunun arkasındaki nedenler, yanlış bir parola, yanlış bir kullanıcı adı veya kullanıcıya verilen yetersiz izinler dahil olmak üzere birden fazla olabilir.

İşte bu hatayı çözmek için uygulayabileceğiniz bazı adımlar

1. Kullanıcı adını ve şifreyi kontrol edin

Doğru kullanıcı adını ve parolayı kullandığınızdan emin olun. Kullanıcı adı “root” olmalı ve şifre kurulum işlemi sırasında belirlediğiniz şifre olmalıdır.

WordPress kullanıyorsanız, wp-config.php dosyanızı kontrol etmeniz gerekir. Dosya, WordPress'in ana klasöründe bulunabilir.

wp-config.php

Dosyayı açtıktan ve düzenlemeye çalıştıktan sonra (Visual Studio Code) bu ekrana sahip olacaksınız:

veritabanının wp-config.php kullanıcı adını ve şifresini düzenleyin

Doğru değerlere sahiplerse DB_USER ve DB_PASSWORD'u kontrol edin

 /** Database username */ define( 'DB_USER', 'root' );
 /** Database password */ define( 'DB_PASSWORD', 'root' );

Veritabanı için kullanıcı adınızı ve şifrenizi bilmiyorsanız, cPanel > Veritabanı > Mysql'e erişin ve kontrol edin.

cpanel ile veritabanına kayıtlı mysql'e nasıl erişilir

WordPress veritabanının şifresini değiştirmek için lütfen öğreticiyi takip edin: PHPMyAdmin'de WordPress Şifresini Değiştirin

2. Kullanıcının gerekli ayrıcalıklara sahip olup olmadığını kontrol edin

"root" kullanıcısının veritabanına erişmek için gerekli ayrıcalıklara sahip olup olmadığını kontrol edin.

Adım 1: Öncelikle, terminalinizi açmanız ve ssh [email protected] yazmanız gerekir.

 ssh [email protected]

Adım 2: Başarılı bir oturum açtıktan sonra bu komutu not edin.

 mysql -uroot -p

Adım 3: Şifrenizi ekledikten sonra, komutunuzu mysql isteminden eklemeye başlayabilirsiniz.

Adım 4: Ayrıcalıkları kontrol etmek için aşağıdaki komutu kullanabilirsiniz:

 SHOW GRANTS FOR 'root'@'localhost';

Bu size "root" kullanıcısının "localhost" sunucusu için sahip olduğu ayrıcalıkların listesini gösterecektir. Kullanıcı gerekli ayrıcalıklara sahip değilse, aşağıdaki komutu kullanarak onlara verebilirsiniz:

 GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password';

Not: 'password' kısmını kullanmak istediğiniz şifre ile değiştirin.

Kullanıcının phpMyAdmin'i kullanarak gerekli ayrıcalıklara sahip olup olmadığını kontrol etmek için şu adımları izleyin:

  1. phpMyAdmin hesabınıza giriş yapın.
  2. "Kullanıcı Hesapları" sekmesine tıklayın.
  3. Kullanıcı kökünü (veya şifresini değiştirmek istediğinizi) seçin
  4. Ayrıcalıkları düzenle bağlantısını tıklayın
  5. Burada kullanıcıya verilen ayrıcalıkların listesini görebilirsiniz.
  6. Kullanıcıya veritabanına erişmek için gerekli ayrıcalıkların verildiğinden emin olun.
  7. Kullanıcı gerekli ayrıcalıklara sahip değilse, ilgili onay kutularını işaretleyerek ve “Git” düğmesine tıklayarak yetki verebilirsiniz.
  8. Gerekli ayrıcalıkları verdikten sonra, sorunun çözülüp çözülmediğini görmek için veritabanına tekrar erişmeyi deneyin.
phpmyadmin düzenleme ayrıcalıkları bağlantısı

Vurgulanan alandaki ayarlar kontrol edilmelidir:

phpmyadmin kullanıcı ayrıcalıkları

Not: phpMyAdmin aracılığıyla gerekli ayrıcalıkları sağlayamıyorsanız, ayrıcalıkları vermek için MySQL komut satırı arayüzüne erişmeniz gerekebilir.

3. MySQL sunucu durumunu kontrol edin

MySQL sunucusunun çalıştığından emin olun. Sunucu kabuğunda oturum açtıktan sonra aşağıdaki komutu çalıştırarak sunucu durumunu kontrol edebilirsiniz:

 systemctl status mysql

Sunucu çalışmıyorsa, aşağıdaki komutu kullanarak başlatın:

 systemctl start mysql

cPanel hosting üzerindeki Mysql durumunu kontrol etmek için hosting panonuza giriş yapmalısınız. Başka bir yol da doğrudan barındırma sağlayıcınızla iletişime geçmektir.

4. MySQL sunucusunun doğru bağlantı noktasını dinleyip dinlemediğini kontrol edin

MySQL sunucusunun doğru bağlantı noktasını dinlediğinden emin olun. MySQL için varsayılan bağlantı noktası 3306'dır .

MySQL sunucusunun doğru bağlantı noktasını dinleyip dinlemediğini kontrol etmek için şu adımları izleyebilirsiniz:

1. MySQL'in kurulu olduğu sunucunuzda bir terminal veya komut istemi açın.

2. Komut satırı istemcisini kullanarak MySQL sunucusuna bağlanın. username ve password gerçek MySQL kimlik bilgilerinizle değiştirerek aşağıdaki komutu kullanabilirsiniz:

 mysql -u username -p

3. MySQL sunucusuna bağlandıktan sonra, MySQL sunucusunun dinlediği bağlantı noktası numarasını görüntülemek için aşağıdaki komutu yazın:

SHOW VARIABLES LIKE 'port';

Bu komut, MySQL sunucusunun dinlediği port numarasını gösterecektir. Varsayılan olarak, MySQL 3306 numaralı bağlantı noktasını dinler.

Bağlantı noktası numarasını MySQL yapılandırma dosyasından da kontrol edebilirsiniz.

Yapılandırma dosyası genellikle my.cnf veya my.ini olarak adlandırılır ve MySQL kurulum dizininde bulunur.

MySQL kurulum dizinini bulmak için şu adımları takip edebilirsiniz:

1. MySQL'in kurulu olduğu sunucunuzda bir terminal veya komut istemi açın.

2. MySQL'in kurulu olup olmadığını kontrol etmek için aşağıdaki komutu yazın:

which mysql

MySQL kuruluysa, bu komut mysql çalıştırılabilir dosyasının yolunu gösterecek, aksi takdirde bir hata mesajı alacaksınız.

MySQL kuruluysa, kurulum dizinini bulmak için which komutu tekrar kullanabilirsiniz. /path/to/mysql yerine mysql çalıştırılabilir dosyasının yolunu kullanarak aşağıdaki komutu yazın:

 which mysql | xargs readlink -f | sed "s|bin/mysql$||"

Bu komut, MySQL kurulum dizinini gösterecektir. MySQL yapılandırma dosyasını ( my.cnf veya my.ini ) ve diğer MySQL dosyalarını ve dizinlerini bulmak için bu dizini kullanabilirsiniz.

Alternatif olarak, MySQL istemcisine erişiminiz varsa, MySQL kurulum dizinini bulmak için aşağıdaki sorguyu da yürütebilirsiniz:

 SELECT @@basedir;

Bu, MySQL kurulum dizinini gösterecektir.

MySQL'in dinlemek üzere yapılandırıldığı bağlantı noktası numarasını doğrulamak için MySQL yapılandırma dosyasını da kontrol edebilirsiniz. Yapılandırma dosyası genellikle my.cnf veya my.ini olarak adlandırılır ve MySQL kurulum dizininde bulunur.

my.cnf ve sql bağlantı noktası

Yapılandırma dosyasını bir metin düzenleyiciyle açın ve port parametresini arayın. Bu parametrenin değeri, MySQL'in dinlemek üzere yapılandırıldığı bağlantı noktası numarasını belirtir.

MySQL sunucusu doğru bağlantı noktasını dinlemiyorsa, yapılandırma dosyasındaki bağlantı noktası parametresini değiştirebilir ve değişiklikleri uygulamak için MySQL sunucusunu yeniden başlatabilirsiniz.

Bağlantı noktasını değiştirdiyseniz Mysql hizmetini yeniden başlatmayı unutmayın:

 service mysql restart

5. Kök şifresini sıfırlayın

Yukarıdaki adımlardan hiçbiri işe yaramazsa, root parolasını sıfırlamayı deneyebilirsiniz. Bu makaledeki adımları izleyerek bunu yapabilirsiniz:

https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html

Not: Bu yöntem, MySQL yapılandırma dosyasına erişmenizi ve MySQL sunucusunu yeniden başlatabilmenizi gerektirir.

Okumak ilginizi çekebilir:

WordPress'te “Kurulum Başarısız: Dizin Oluşturulamadı” Hatası Nasıl Düzeltilir

Bakım Modunda Takılan WordPress Nasıl Onarılır (ÇÖZÜLDÜ)

"Güncelleme Başarısız Oldu" nasıl düzeltilir? Yanıt Geçerli Bir JSON Yanıtı Değil”

“Veritabanı Bağlantısı Kurma Hatası” Nasıl Düzeltilir? – 2023