'Root @ localhost' kullanıcısı için erişim reddedildi (şifre kullanılarak: HAYIR)


116

MySQL'de yeniyim, WordPress'i Windows masaüstümde çalıştırmaya çalışıyorum ve MySQL'e ihtiyacı var.

Web Platform InstallerMicrosoft tarafından sağlanan her şeyi kurarım. MySQL için asla bir root şifresi belirlemedim ve WordPress'i kurmanın son aşamasında bir MySQL sunucu şifresi soruyor.

Kök için varsayılan şifre (varsa) nedir ve nasıl değiştirilir?

Denedim:

mysql -u root password '123'

Ama bana şunu gösteriyor:

Access denied for user 'root@localhost' (using password:NO)

Bundan sonra denerim:

mysql -u root -p

Ancak bende olmayan bir şifre soruyor.


Güncelleme : Bozho'nun önerdiği gibi şunları yaptım:

  1. MySQL Hizmetini Windows hizmetlerinden durdurdum
  2. Açılan CMD
  3. Konumu c: \ program files \ mysql \ bin olarak değiştirdi
  4. Aşağıdaki komutu yürüttü

    mysqld --defaults-file="C:\\program files\\mysql\\mysql server 5.1\\my.ini" --init-files=C:\\root.txt

  5. Komut, aşağıda bahsettiğim karakter seti hakkında bir uyarı ile çalıştı.

  6. MySQL hizmetini Windows hizmetlerinden başlatıyorum
  7. Komut satırına yazıyorum

    mysql -u root -p EnterPassword: 123 // 123 was the password

  8. Komut satırı aşağıdaki hatayı gösteriyor

    Access denied for user 'root@localhost' (using password:**YES**)

Bunu nasıl çözerim? Senden duymayı bekliyorum.


1
İlk komut yanlış, olmalı -pya da olmalı --password, ama değil password. Bu nedenle mysql, ŞİFRE NO KULLANARAK yanıt verir.
Konerak

3
Görünüşe göre kimse ona apaçık cevabı vermemiş. Kullanıcı rootkimliği parolası , ilk kurulumdan sonra boştur . Yani sadece yapın mysql -u root -pve enter tuşuna basın, yani parolayı boş bırakın. Sonra elbette rootkullanıcı kimliğine bir şifre koyun .
RiggsFolly

1
@RiggsFolly hayır, çalışmıyor! boş parola bana erişim engellendi!
J86

Kabul edilen cevabın doğru olduğundan emin olmadığım için bir yorum eklemek istiyorum. Benim için mysql -u root -p yazıp şifreyi sorduğumda doğru olanı (kurulumda bir set) ver. Bunun yerine -p'ye bir DB'nin adını var olduğunu bildiğim bir DB ile kanıtlamak işe yaramadı.
Carmine Tambascia

Yanıtlar:


49

Sen edebilirsiniz root şifrenizi sıfırlamak . Şifre olmadan root kullanmanın tavsiye edilmediğini unutmayın.


@Bozho - Talimatları takip ediyorum ve bir metin dosyası oluşturuyorum ve söz konusu komuttan çağırıyorum, sonra karşıma çıkıyor 100608 [warning] --default-character-set is deprecated and will be removed in a future release. please use --character-set-server instead.------------------------ -------- ve son olarak mysql servisimi tekrar başlattığımda tam olarak hatayla karşılaşıyorum ama bu sefer (using password:yes)ne yapmalıyım?
Nasser Hadjloo

@Bozo - Komutunu çalıştırdığımı not mysqldt-ntet. mysqldt -ntAslında ilki cmd için tanınmıyor. Senden duymayı bekliyorum.
Nasser Hadjloo

@Bozho - sorumu hata ile güncelledim. zaman ayırdığın için teşekkürler.
Nasser Hadjloo

@Bozho - mysql hatalarımı güncellemenin / özelleştirmenin bir yolu var mı? ** "'root @ localhost' kullanıcısı için erişim reddedildi (şifre: NO kullanılarak)" "'myname @ localhost' kullanıcısı için erişim reddedildi (şifre: NO kullanılarak)" olarak güncelleyin **
Hitesh

81

bu tür bir hata için; yönetici olarak root kullanıcısına yeni bir şifre belirlemeniz yeterlidir. aşağıdaki adımları izleyin:

[root ~]# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)
  1. Mysql hizmetini / arka plan programını durdurun

    [root ~]# service mysql stop   
    mysql stop/waiting
  2. Aşağıdaki seçeneği kullanarak mysql'yi herhangi bir ayrıcalık olmadan başlatın; Bu seçenek MySQL'in ayrıcalık sistemini başlatmak ve kullanmamak için kullanılır.

    [root ~]# mysqld_safe --skip-grant-tables &

Şu anda terminal duracak gibi görünecek . Öyle olsun ve sonraki adımlar için yeni terminal kullanın.

  1. mysql komut istemini girin

    [root ~]# mysql -u root
    mysql> 
  2. Kök kullanıcının izin ayarını düzeltin;

    mysql> use mysql;
    Database changed
    mysql> select * from  user;
    Empty set (0.00 sec)
    mysql> truncate table user;
    Query OK, 0 rows affected (0.00 sec)
    mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)
    mysql> grant all privileges on *.* to root@localhost identified by 'YourNewPassword' with grant option;
    Query OK, 0 rows affected (0.01 sec)

* herhangi bir parola veya boş bir parola istemiyorsanız

    mysql> grant all privileges on *.* to root@localhost identified by '' with grant option;
    Query OK, 0 rows affected (0.01 sec)*
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

Sonuçları onaylayın:

    mysql> select host, user from user;
+-----------+------+
| host      | user |
+-----------+------+
| localhost | root |
+-----------+------+
1 row in set (0.00 sec)
  1. Kabuktan çıkın ve mysql'yi normal modda yeniden başlatın.

    mysql> quit;
    [root ~]# kill -KILL [PID of mysqld_safe]
    [root ~]# kill -KILL [PID of mysqld]
    [root ~]# service mysql start
  2. Artık belirlediğiniz şifre ile başarılı bir şekilde root kullanıcısı olarak oturum açabilirsiniz

     [root ~]# mysql -u root -pYourNewPassword 
     mysql> 

2
"[Root ~] # mysqld_safe --skip-grant-tables &" dan sonra Enter tuşuna basın ve "[root ~] # mysql -u root" girmek için başka bir terminal açın
Liuda

Bu problemle karşılaştım ve çok şey yaptım, sadece db servislerini yeniden başlatmayı unuttum ... çok teşekkürler!
Bruce Lee

3
3. adımda şunu anlıyorumERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
MrMartin

4
@MrMartin, bu dizini oluştur sudo mkdir -p /var/run/mysqldve ona izin versudo chown mysql:mysql /var/run/mysqld
niceday

bu bana çok yardımcı olan cevap!
Jones G

17

1) MySQL konsolunu çalıştırarak root şifresi belirleyebilirsiniz. Bulunduğu yer

C:\wamp\bin\mysql\mysql5.1.53\bin varsayılan olarak.

Dizine gidin ve MySQL yazın. ardından şifreyi aşağıdaki gibi ayarlayın ..

    > SET PASSWORD FOR root@localhost = PASSWORD('new-password');

2) wamp'ın phpmyadmin uygulamasını kök kullanıcı için düzenleyerek yapılandırabilirsiniz.

C:\wamp\apps\phpmyadmin3.3.9\config.inc.php 

Not: - xampp kullanıyorsanız, dosya şu konumda yer alacaktır:

C:\xampp\phpMyadmin\config.inc.php

Şöyle görünüyor:

        $cfg['Servers'][$i]['verbose'] = 'localhost';
        $cfg['Servers'][$i]['host'] = 'localhost';
        $cfg['Servers'][$i]['port'] = '';
        $cfg['Servers'][$i]['socket'] = '';
        $cfg['Servers'][$i]['connect_type'] = 'tcp';
        $cfg['Servers'][$i]['extension'] = 'mysqli';
        $cfg['Servers'][$i]['auth_type'] = 'config';
        $cfg['Servers'][$i]['user'] = 'root';
        $cfg['Servers'][$i]['password'] = 'YOURPASSWORD';
        $cfg['Servers'][$i]['AllowNoPassword'] = false;

Hata "Erişim kullanıcı için engellendi 'root @ localhost' (kullanarak şifre: HAYIR)" ayarladığınız zaman çözülecek $cfg['Servers'][$i]['AllowNoPassword']için YANLıŞ

'Root @ localhost' şifresini özel olarak değiştirdiyseniz, "'root @ localhost' kullanıcısı için erişim engellendi" hatasını çözmek için 2 şey yapmanız gerekir:

  1. ['parola'], '' gibi boş bir alıntı içeriyorsa, parolanızı tırnak işaretleri arasına koyun.
  2. (Parola kullanarak: HAYIR) öğesini (parola kullanarak: YES) olarak değiştirin

Bu, hatayı çözecektir.

Not: phpmyadmin, wamp ile birlikte gelen ayrı bir araçtır. Sadece MySQL'e bir arayüz sağlar. sql root parolamı değiştirirseniz, phpmyadmin yapılandırmalarını değiştirmelisiniz. Genellikle phpmyadmin kök kullanıcı olarak yapılandırılır.


hayır yapamazsınız .. mysql başlamaz: c: \ wamp64 \ bin \ mysql \ mysql5.7.23 \ bin> mysql HATA 1045 (28000): 'ODBC' @ 'localhost' kullanıcısı için erişim reddedildi (şifre kullanılarak: HAYIR)
Jaxx0rr

9

OS X El kaptanında da aynı hatayı alıyordum. Mysql 5.7.0 sürümü Bu adımları uyguladıktan sonra mysql'e root ile bağlanabildim.

Mysql sunucusunu durdurun

sudo mysql.server stop

Mysql'yi güvenli modda başlatın

sudo mysqld_safe --skip-grant-tables

Mysqld kullanarak, veritabanını mysql olarak değiştirin ve 'root' kullanıcısı için ayrıntıları güncelleyin.

show databases;
use mysql;
UPDATE mysql.user 
    SET authentication_string = PASSWORD('MyNewPass'), password_expired = 'N'
    WHERE User = 'root' AND Host = 'localhost';
exit;

Bundan sonra 'mysqld_safe' işlemini sonlandırın ve mysql'yi normal şekilde başlatın. Root ve yeni şifre kullanarak mysql'e giriş yapabilmelisiniz. Daha fazla ayrıntı için SQL belgeleri


4

my.iniDosyayı C: \ xampp \ mysql \ bin yolunda düzenleyin . Sadece ekle:

skip-grant-tables

# The MySQL server [mysqld]ve satırları arasındaki çizgi port=3306. Ardından MySQL sunucusunu yeniden başlatın.

Görünüşe göre:

Ekran görüntüsü


Bunu yaptığımda başka bir hata alıyorumcommunications link failure
Ahmed Hussein

3

MySQL hizmetinin makinenizde çalıştığından emin olun, ardından başlangıçta kök kurmak için MySQL'deki talimatları izleyin ('pencereleri' arayın ve sizi kök kurma adımlarına götürecektir):

http://dev.mysql.com/doc/refman/5.1/en/default-privileges.html


Bu çözüm benim için işe yaramayacak çünkü ikinci adımda ihtiyaç duyduğu şifreye sahip değilim.
Nasser Hadjloo

Bağlantıyı gönderdiğimde baktığım şey buydu, bunun işe yaramadığına emin misin? Eski şifreye herhangi bir referans göremiyorum. Windows için şunu yapın: shell> mysql -u root mysql> 'root' @ 'localhost' İÇİN ŞİFRE AYARLAYIN = ŞİFRE ('newpwd'); mysql> 'root'@'127.0.0.1' İÇİN ŞİFRE AYARLA = ŞİFRE ('newpwd'); mysql> 'root' @ '%' İÇİN ŞİFRE AYARLAYIN = ŞİFRE ('newpwd');
sholsapp

1
Daha önce de söylediğim gibi yazarken mysql -u rootsorunla karşılaşıyorum ve ikinci satırı çalıştırmak için mysql'e giriş yapamıyorum. öyleyse bu komut nasıl kullanılır?
Nasser Hadjloo

3

Mysql -u root -p kullanın Şifre soracak, şifre girecek ve girecektir.


Bu, kullanıcılar için Erişim reddedildikten sonra işe yaradı.
Shawn W

2

Birisi hata alırsa başka bir çözüm 'root' kullanıcı hesabı için belirtilen şifre geçerli değil veya veritabanı sunucusuna bağlanılamadı da doğru şifre ile , aşağıdaki gibidir

• Windows kayıt defterinde, HKCU \ Software \ Microsoft \ WebPlatformInstaller altındaki mysql_pwd reg anahtarını silin

• MySQL .NET bağlayıcısının eski sürümünü unistall

• En son MySql .NET Bağlayıcısını indirin ve yükleyin .


Parola ve veritabanı adı kontrol
ediliyor

2

MySQL 5.7. Bunlar aşağıdaki adımlar:

MySQL sunucunuzu tamamen durdurun. Bu, MySQL hizmetini durdurabileceğiniz Windows XP ve Windows Server 2003 içindeki Hizmetler penceresine erişilerek yapılabilir.

Çalıştır penceresindeki "cmd" yi kullanarak MS-DOS komut isteminizi açın. İçinde cd komutunu kullanarak C: \ MySQL \ bin gibi MySQL bin klasörünüze gidin.

Komut isteminde aşağıdaki komutu yürütün: mysqld.exe -u root --skip-grant-tables

Geçerli MS-DOS komut istemini olduğu gibi bırakın ve yeni bir MS-DOS komut istemi penceresi açın.

Cd komutunu kullanarak C: \ MySQL \ bin gibi MySQL bin klasörünüze gidin.

Mysql girin ve enter tuşuna basın.

Artık MySQL komut isteminin çalışıyor olması gerekir. Mysql yazın; böylece "mysql" veritabanına geçiyoruz.

Parolayı güncellemek için aşağıdaki komutu yürütün:

kullanıcı setini güncelleme authentication_string = password ('1111') burada user = 'root';


1

Kodunuzda 'kök' kısmını Sunucu kullanıcı adınız ve şifreniz ile sunucu şifreniz ile değiştirin. Örneğin, http://www.example.com sunucusunda DB'niz ve php dosyalarınız varsa, açıkçası bu sunucu sitesine kullanıcı adınızı ve şifrenizi kullanarak girmeniz gerekir.


1

XAMPP kullanıyorsanız, sadece gidin C:\xampp\phpMyAdminve ardından config.inc.phpbul $cfg['Servers'][$i]['password'] = ''satırını açın ve şifrenizi buraya girin.


1

Bazı bilgiler için şifreyi değiştirdikten sonra hata alıyorum:

'Root' @ 'localhost' kullanıcısı için erişim reddedildi (şifre kullanılarak: NO)

'Root' @ 'localhost' kullanıcısı için erişim reddedildi (şifre kullanılarak: YES)

Her iki durumda da hata vardı.

Ama ondan sonra bunu denedim

mysql -uroot -ppassword onun yerine

mysql -u root -p password -> -uroot ve -ppassword arasında boşluk bırakarak, belki birisi sorun çıkarsa bu yolu deneyebilir.


0

Bazen Wamp'ın yüklenmesi veya root kullanıcısının şifre seçeneklerinin değişmesi nedeniyle olur. Ayrıcalıklar -> root (kullanıcı) kullanılabilir ve ardından her şeyi herhangi bir parola olmadan çalıştırmak VEYA parolayı ayarlamak ve uygulamada kullanmak için parola seçeneğini HAYIR olarak ayarlayabilirsiniz.


0
  1. Parolayı config.inc.phpşimdiki zamandan değiştirin C:\xampp\phpMyAdmin.
  2. Tip mysql -u root -pkomut isteminde.
  3. Şifreyi girmeniz istenecektir. Güncellediğiniz parolayı girin config.inc.php.

0

Bağlantı noktasını standart olmayan bir bağlantı noktasına değiştirdiyseniz, bunu belirtmeniz gerekir:

$ bağlantı = mysqli_connect ('localhost: 3308', 'root', '', 'loginapp');


-3
mysqladmin -u root -p password

girin current password

sonra

girin new password


1
Asıl nokta, OP'nin mevcut şifreyi bilmemesidir , çünkü şifre asla ayarlanmamıştır .
Nateowami

Şifremi biliyordum ancak geçici şifre ile giriş yapmakta sorun yaşadım. bu cevap benim için çalıştı
Bernard
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.