EverKB

Knowledge Base Ever

ERROR 1698 (28000): Access denied for user 'root'@'localhost' Problemini çöz

2019-12-18 13:21:50

etiket: MySQL,MariaDB,mysql_native_password,caching_sha2_password, Erişim 'root' @ 'localhost' kullanıcısı için reddedildi

Uzun süredir MySQL farklı kimlik doğrulama eklentilerini destekledi. Özgün parola yetkilendirme yöntemi, parolanın karma değerini belirli bir algoritma ile bulmak ve mysql.user tablosunda saklamaktır, ancak bu tek kimlik doğrulama yöntemi değildir.

Sunucuya doğru kullanıcı ve şifre ile giriş yaptığınızda ve doğru yetkilendirildikten sonra, MySQL servisi ayrıca servisin reddedilmesini ister. Bunun farklı şifre yetkilendirme yöntemlerinden kaynaklanabileceğini düşünebilirsiniz.

1. Unix Soket yetkilendirmesi, kullanıcıların yerel bir kullanıcı adı ve şifre ile mysql'e giriş yapmalarına izin verir.Bu yetkilendirme yönteminin avantajı, yetkilendirme şifresini ayrı ayrı tutmaya gerek olmamasıdır. Bu mümkündür, çünkü Unix Soket yerel modu kullanılır.
2. PAM yetkilendirme eklentisi, LDAP ve diğer arka uç sistemleri gibi kuruluma izin vermek için izin verir, bu yöntemin kuruluşun mevcut sistemine entegrasyonu için uygundur.
3. MySQL8'in en son sürümü, teorik olarak daha güvenli olan, yetkilendirmek için cache_sha2_password kullanır. Bu güncelleme elbette daha iyi olacak, ancak istemci sürücüsünü yükseltme pahasına, aksi takdirde eski ama uyumlu lisanslama yöntemine geri dönmeniz gerekecektir.
İşte çözüm: komut satırından mysql'ye giriş yapın
sudo mysql -u root -p
Şimdi çeşitli komutlar girilebilir. Geçerli veritabanını mysql'ye dönüştürün.
USE mysql;
Yetkilendirme eklentisini güncellemek için aşağıdaki komutu çalıştırın. Ve hemen etkili kılmak için yetkilendirmeyi güncelleyin.
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
FLUSH PRIVILEGES;
exit;
MySQL'i yeniden başlat
service mysql restart
Mysql'e shell komut satırından giriş yaparsanız, yetkilendirme doğrulama yöntemini belirtmek için --default-auth seçeneğini kullanın. Bazen, varsayılan yetkilendirme doğrulama yöntemi yanlış olduğundan giriş yapamazsınız.
shell> mysql --default-auth=mysql_native_password ...

etiket

CentOS7 CentOS PHP Linux Python Python3 MySQL MariaDB YUM JavaScript mysql_native_password PHP7 CSS Redis MySQL8 caching_sha2_password HTML Bluetooth Failed to build these modules: _ctypes Minimal ISO substr date sub INTERVAL PECL SQL Date Funcitons Wi-Fi CodeIgniter font-size root Tag Cloud apache httpd dual network interfaces Laravel ss5 CURLFille horiz-align node.js ShadowsocksR vertical-align BarManager exec mb_substr PyCharm SUBDATE date add IntelliJIDEA PEAR SOCKS5 Proxy Server WebStorm Chrome find remi Tag Apache du jQuery PHP5.5 src cURL hide nginx Shadowsocks-Python V2Ray availability eth0 MariaDB10.4 PostgreSQL sub folder date Install MongoDB pdo_sqlsrv SOCKS5 Web Server File Upload mssql-tools register_shutdown_function Symfony ADDDATE DevExpress JetBrain php-fpm sqlsrv Zend Framework height network interface Shadowsocks-Libev unixODBC-devel Aura error_get_last Port 80 string data INDENTIFIED BY password policy requirements SOCKS Web Development Fedora Media Writer msodbcsql Redis5 SVN absolute Deepin jemalloc SQLAlchemy convert FuelPHP mysqlclient Shadowsocks toggle at-symbol Error Control Operator margin PHPUnit Framework ss5.passwd daemon process IIS password SOCKET vps center Fatal Errors MongoDB4 sudoers .htaccess DATE_SUB Phalcon SQL Server 2017 WiFi Compiling PHP frequency conflict set_error_handler TestCase apr Elasticsearch7.3 PHPUnit ss5.conf daemon HTTP particles.js Slim Vincent Garreau Failed to build these modules: _uuid MongoDB Sudo DATE_ADD ip command pg_bha.conf SQL Server width Compiling Apache Frameworks MySQL-python scrollbar Tcp BBR Apache2.4 Elasticsearch libpython3.7m.so.1.0 PHPStorm ss5-3.8.9 CURLOPT_POSTFIELDS NodeJs show VIM

En son makale