EverKB

Knowledge Base Ever

Resoleu el problema ERROR 1698 (28000): Access denied for user 'root'@'localhost'

2019-12-18 13:21:50

Etiqueta: MySQL,MariaDB,mysql_native_password,caching_sha2_password, Accés denegat per a l'usuari 'root' @ 'localhost'

Durant molt de temps, MySQL admet diferents complements d'autenticació. El mètode d’autorització de contrasenya original és trobar el valor hash de la contrasenya amb un algorisme específic i emmagatzemar-lo a la taula mysql.user, però aquest no és l’únic mètode d’autenticació.

Quan inicieu la sessió al servidor amb l'usuari i la contrasenya correctes i us han autoritzat correctament, el servei MySQL també demana que es rebutgi el servei. Podeu considerar que això pot ser causat per diferents mètodes d'autorització de contrasenya.

1. L’autorització Unix Socket permet als usuaris iniciar sessió a mysql amb un nom d’usuari i una contrasenya locals. L’avantatge d’aquest mètode d’autorització és que no cal mantenir la contrasenya d’autorització per separat. Això és possible perquè s’utilitza el mode natiu d’Unix Socket.
2. El connector d’autorització PAM permet la instal·lació, com LDAP i altres sistemes de fons per autoritzar, aquest mètode és adequat per a la integració al sistema existent de l’organització.
3. L'última versió de MySQL8 utilitza cache_sha2_password per autoritzar, que teòricament és més segur. Aquesta actualització, per descomptat, serà millor, però a costa d’actualitzar el controlador del client, en cas contrari, haureu de tornar al mètode de llicència antic però compatible.
Aquí hi ha la solució: inicieu la sessió a mysql des de la línia de comandaments
sudo mysql -u root -p
Ara es poden introduir diverses ordres. Convertiu la base de dades actual en mysql.
USE mysql;
Executeu la següent comanda per actualitzar el connector d'autorització. I actualitzeu immediatament l’autorització per fer-la efectiva.
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
FLUSH PRIVILEGES;
exit;
Reinicieu mysql
service mysql restart
Si inicieu la sessió a mysql des de la línia d’ordres de shell, utilitzeu l’opció --default-auth per especificar el mètode d’autenticació d’autorització. De vegades no podeu iniciar la sessió perquè el mètode de verificació d’autorització predeterminada és incorrecte.
shell> mysql --default-auth=mysql_native_password ...

Etiqueta

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