EverKB

Knowledge Base Ever

Ratkaise ERROR 1698 (28000): Access denied for user 'root'@'localhost' -ongelma

2019-12-18 13:21:50

tag: MySQL,MariaDB,mysql_native_password,caching_sha2_password, Käyttäjälle 'root' @ 'localhost' pääsy evätty

MySQL on jo pitkään tukenut erilaisia ​​todennuslaajennuksia. Alkuperäinen salasanan valtuutusmenetelmä on löytää salasanan hash-arvo tietyllä algoritmilla ja tallentaa se mysql.user-taulukkoon, mutta tämä ei ole ainoa todennusmenetelmä.

Kun kirjaudut palvelimeen oikealla käyttäjällä ja salasanalla ja olet valtuutettu oikein, MySQL-palvelu kehottaa myös hylkäämään palvelun. Voit katsoa, ​​että tämä voi johtua erilaisista salasanan valtuutusmenetelmistä.

1. Unix Socket -valtuutuksen avulla käyttäjät voivat kirjautua sisään mysql: ään paikallisella käyttäjänimellä ja salasanalla. Tämän valtuutusmenetelmän etuna on, että valtuutussalasanaa ei tarvitse ylläpitää erikseen. Tämä on mahdollista, koska käytetään Unix Socketin natiivitilaa.
2. PAM-valtuutuslaajennus mahdollistaa asennuksen, kuten LDAP: n ja muiden taustajärjestelmien valtuuttamisen, tämä menetelmä soveltuu integroitavaksi organisaation nykyiseen järjestelmään.
3. Uusin MySQL8-versio käyttää valtuutukseen cache_sha2_password, joka on teoriassa turvallisempi. Tämä päivitys on tietysti parempi, mutta asiakasohjaimen päivityksen kustannuksella, muuten joudut vaihtamaan takaisin vanhaan, mutta yhteensopivaan lisensointitapaan.
Tässä on ratkaisu: kirjaudu mysql: iin komentoriviltä
sudo mysql -u root -p
Erilaisia ​​komentoja voidaan nyt syöttää. Muunna nykyinen tietokanta mysql-tiedostoksi.
USE mysql;
Päivitä valtuutuslaajennus suorittamalla seuraava komento. Ja päivitä valtuutus heti, jotta se olisi tehokasta.
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
FLUSH PRIVILEGES;
exit;
Käynnistä mysql
service mysql restart
Jos kirjaudut sisään mysqliin shell-komentoriviltä, ​​määritä valtuutuksen todennustapa --default-auth -vaihtoehdolla. Joskus et voi kirjautua sisään, koska oletusvaltuutuksen vahvistustapa on väärä.
shell> mysql --default-auth=mysql_native_password ...

tag

CentOS7 CentOS PHP Linux Python3 Python MySQL YUM JavaScript MariaDB Redis MySQL8 caching_sha2_password HTML mysql_native_password PHP7 CSS 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 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