EverKB

Knowledge Base Ever

Розв’яжіть задачу ERROR 1698 (28000): Access denied for user 'root'@'localhost'

2019-12-18 13:21:50

Мітка: MySQL,MariaDB,mysql_native_password,caching_sha2_password, Доступ заборонено користувачеві 'root' @ 'localhost'

Протягом тривалого часу MySQL підтримував різні плагіни аутентифікації. Оригінальний метод авторизації пароля - це знайти хеш-значення пароля за допомогою певного алгоритму та зберігати його в таблиці mysql.user, але це не єдиний метод аутентифікації.

Коли ви входите на сервер із правильним користувачем та паролем та були авторизовані правильно, служба MySQL також вимагає відхилити службу. Ви можете вважати, що це може бути викликано різними методами авторизації пароля.

1. Авторизація Unix Socket дозволяє користувачам входити в mysql з локальним ім'ям користувача та паролем. Перевага цього методу авторизації полягає в тому, що немає необхідності підтримувати пароль авторизації окремо. Це можливо, оскільки використовується нативний режим Unix Socket.
2. Плагін авторизації PAM дозволяє встановлювати такі установки, як LDAP та інші резервні системи, цей спосіб підходить для інтеграції в існуючу систему організації.
3. Остання версія MySQL8 використовує cache_sha2_password для авторизації, що теоретично є більш безпечним. Це оновлення, звичайно, буде кращим, але ціною оновлення драйвера клієнта, інакше вам потрібно буде перейти на старий, але сумісний метод ліцензування.
Ось таке рішення: увійдіть до mysql з командного рядка
sudo mysql -u root -p
Тепер можна вводити різні команди. Перетворити поточну базу даних у mysql.
USE mysql;
Виконайте наступну команду, щоб оновити плагін авторизації. І негайно оновіть авторизацію, щоб зробити її ефективною.
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
FLUSH PRIVILEGES;
exit;
Перезапустіть mysql
service mysql restart
Якщо ви увійдете в mysql з командного рядка оболонки, використовуйте параметр --default-auth, щоб вказати метод аутентифікації авторизації. Іноді ви не можете увійти, оскільки метод підтвердження авторизації за замовчуванням невірний.
shell> mysql --default-auth=mysql_native_password ...

Мітка

CentOS7 CentOS PHP Linux Python3 Python MySQL MariaDB YUM JavaScript CSS Redis MySQL8 caching_sha2_password HTML mysql_native_password PHP7 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 Deepin jemalloc SQLAlchemy absolute 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 DATE_SUB Phalcon SQL Server 2017 WiFi .htaccess 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 dual network interfaces Laravel ss5 apache httpd 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 du jQuery PHP5.5 src Apache 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 DevExpress JetBrain php-fpm sqlsrv Zend Framework ADDDATE

Остання стаття