EverKB

Knowledge Base Ever

Išspręskite ERROR 1698 (28000): Access denied for user 'root'@'localhost' problemą

2019-12-18 13:21:50

Etiketė: MySQL,MariaDB,mysql_native_password,caching_sha2_password, Prieiga atmesta vartotojui „root“ @ „localhost“

Ilgą laiką „MySQL“ palaikė skirtingus autentifikavimo papildinius. Originalus slaptažodžio suteikimo būdas yra surasti slaptažodžio maišos vertę su konkrečiu algoritmu ir išsaugoti jį „mysql.user“ lentelėje, tačiau tai nėra vienintelis autentifikavimo metodas.

Kai prisijungiate prie serverio naudodamiesi teisingu vartotoju ir slaptažodžiu ir teisingai įgalinę autorių teises, „MySQL“ paslauga taip pat ragina atmesti paslaugą. Galite manyti, kad tai gali sukelti skirtingi slaptažodžio autorizacijos metodai.

1. „Unix Socket“ autorizacija leidžia vartotojams prisijungti prie „MySQL“ naudojant vietinį vartotojo vardą ir slaptažodį. Šio autorizacijos būdo pranašumas yra tas, kad nereikia atskirai saugoti autorizacijos slaptažodžio. Tai įmanoma, nes naudojamas „Unix Socket“ savitasis režimas.
2. PAM autorizacijos papildinys leidžia įdiegti, pvz., LDAP ir kitas fonines sistemas, leidimus. Šis metodas tinka integruoti į esamą organizacijos sistemą.
3. Naujausioje „MySQL8“ versijoje autorizacijai naudojamas cache_sha2_password, kuris teoriškai yra saugesnis. Šis naujinimas, žinoma, bus geresnis, tačiau kliento tvarkyklės atnaujinimo kaina, nes priešingu atveju turėsite grįžti į seną, bet suderinamą licencijavimo metodą.
Štai sprendimas: prisijunkite prie mysql iš komandinės eilutės
sudo mysql -u root -p
Dabar galima įvesti įvairias komandas. Konvertuokite dabartinę duomenų bazę į „MySQL“.
USE mysql;
Vykdykite šią komandą norėdami atnaujinti autorizacijos papildinį. Ir nedelsdami atnaujinkite leidimą, kad jis būtų efektyvus.
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
FLUSH PRIVILEGES;
exit;
Iš naujo paleiskite „MySQL“
service mysql restart
Jei prisijungiate prie „mysql“ iš apvalkalo komandinės eilutės, naudokite parinktį --default-auth, kad nurodytumėte autorizacijos autentifikavimo metodą. Kartais negalite prisijungti, nes neteisingas numatytojo autorizacijos patvirtinimo metodas.
shell> mysql --default-auth=mysql_native_password ...

Etiketė

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

Naujausias straipsnis