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, Access denied for user 'root'@'localhost'

在很長的一段時間裡,MySQL已支持了不同的驗證插件。最原始的密碼授權方式是將密碼以特定的算法求hash值,並保存在mysql.user表中,但這不是唯一的驗證方式。

當以正確的用戶和密碼登錄服務器,並已經正確授權的情況下,MySQL服務還提示服務被拒絕,則可以考慮,可能是由於密碼授權方式不同所導致的。

1、Unix Socket授權允許用戶以本地用戶名密碼登錄mysql,這種授權方式的好處是不用單獨維護授權密碼。這樣可行是因為使用Unix Socket本地方式。
2、PAM授權插件允許安裝,例如LDAP等後端系統來授權,這種方式適合集成到組織現存系統中。
3、最新版本的MySQL8使用caching_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
如果在shell命令行中登錄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 unixODBC-devel height network interface Shadowsocks-Libev Aura error_get_last Port 80 string Web Development data INDENTIFIED BY password policy requirements SOCKS 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 vps daemon process IIS password SOCKET center Fatal Errors MongoDB4 sudoers WiFi .htaccess DATE_SUB Phalcon SQL Server 2017 Compiling PHP frequency conflict set_error_handler TestCase apr Elasticsearch7.3 PHPUnit ss5.conf Vincent Garreau daemon HTTP particles.js Slim Failed to build these modules: _uuid MongoDB Sudo width DATE_ADD ip command pg_bha.conf SQL Server Compiling Apache Frameworks MySQL-python scrollbar Tcp BBR Apache2.4 Elasticsearch libpython3.7m.so.1.0 PHPStorm ss5-3.8.9 VIM CURLOPT_POSTFIELDS NodeJs show Bluetooth Failed to build these modules: _ctypes Minimal ISO substr Wi-Fi date sub INTERVAL PECL SQL Date Funcitons CodeIgniter font-size root Tag Cloud apache httpd dual network interfaces Laravel ss5 vertical-align CURLFille horiz-align node.js ShadowsocksR BarManager exec mb_substr PyCharm SUBDATE WebStorm date add IntelliJIDEA PEAR SOCKS5 Proxy Server Chrome find remi Tag Apache du jQuery PHP5.5 src V2Ray cURL hide nginx Shadowsocks-Python availability eth0 MariaDB10.4 PostgreSQL sub folder Web Server date Install MongoDB pdo_sqlsrv SOCKS5 File Upload mssql-tools register_shutdown_function Symfony Zend Framework ADDDATE DevExpress JetBrain php-fpm sqlsrv