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.

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

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.

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

Vurgulanan alandaki ayarlar kontrol edilmelidir:

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.

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

Codeless'ın kurucu ortaklarından biri olarak, WordPress ve web uygulamalarını geliştirme konusundaki uzmanlığımın yanı sıra, barındırma ve sunucuları etkin bir şekilde yönetme konusunda geçmiş bir geçmişe sahibim. Bilgi edinme tutkum ve yeni teknolojileri inşa etme ve test etme hevesim beni sürekli yenilik yapmaya ve gelişmeye itiyor.