1 min read

MySql native password ile giriş yapamama sorunu

Bu yazıda MySql veritabanında native password ile giriş yapılamama sorununun çözümünü göreceğiz.
MySql native password ile giriş yapamama sorunu

Hata mesajı

Unhandled exception. MySql.Data.MySqlClient.MySqlException (0x80004005): Authentication to host 'localhost' for user 'dummy' using method 'mysql_native_password' failed with message: Access denied for user 'dummy'@'localhost' (using password: YES)
---> MySql.Data.MySqlClient.MySqlException (0x80004005): Access denied for user 'dummy'@'localhost' (using password: YES)

Neden kaynaklanıyor?

Kullanıcı workbench gibi bir arayüzden oluşturulduğunda ve daha sonra MySql driver ile erişilmek istendiğinde bu hatayı alabiliyoruz. Kullanıcılar aşağıdaki gibi terminalden oluşturulduğunda sorun çıkmayacaktır.

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
FLUSH PRIVILEGES;

Çözüm

Terminalden mysql konsolunu çalıştıralım. Yönetici girişi yaptıktan sonra alter user ifadesi kullanarak kullanıcının şifresini yeniden girelim. Bu aşamadan sonra kullanıcı girişi sağlanacaktır.

$mysql -u admin -p
Enter password:
mysql> select user,host,Length('Password') from mysql.user;

mysql> alter user dummy@localhost identified by 'your_password_here';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

mysql> exit
Bye