首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 密碼正確卻無法本地登入?缺少 localhost 授權記錄

     編輯:MySQL 資料庫相關知識

    錯誤現象

    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

    密碼確定正確,-h 127.0.0.1 卻能登入,說明 mysql.user 表缺少 Host='localhost' 的 root 記錄。

    根因分析

    MySQL 將 localhost (Unix Socket) 與 127.0.0.1 (TCP) 視為不同 Host。初始化腳本若未建立 root@localhost,本地 Socket 連線即被拒。% 萬用字元在某些版本 (5.1+) 不匹配 localhost。

    修復步驟 (通用)

    1. 停止 MySQL:systemctl stop mysqld / net stop mysql
    2. 跳過權限啟動:mysqld_safe --skip-grant-tables & / mysqld-nt --skip-grant-tables
    3. 免密登入:mysql
    4. 修復授權表:
    USE mysql;
    -- 方案 A:將現有 % 或 hostname 記錄改為 localhost
    UPDATE user SET Host='localhost' WHERE User='root' AND Host='%';
    -- 方案 B:直接插入 (若無可改記錄)
    INSERT INTO user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, Event_priv, Trigger_priv, ssl_type, ssl_cipher, x509_issuer, x509_subject, max_questions, max_updates, max_connections, max_user_connections, plugin, authentication_string)
    VALUES ('localhost','root','*HASH','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'mysql_native_password','*HASH');
    FLUSH PRIVILEGES;
    1. 退出、正常重啟 MySQL,驗證 mysql -u root -p

    驗證授權表內容

    SELECT User, Host, plugin, authentication_string FROM mysql.user WHERE User='root';

    確保包含 localhost、127.0.0.1、% (視需求) 三條記錄。

    避坑提醒

    • MySQL 5.7+ 欄位為 authentication_string,8.0 建議用 ALTER USER 'root'@'localhost' IDENTIFIED BY 'pwd';
    • 修改後必須 FLUSH PRIVILEGES; 否則不生效
    • 生產環境建議僅保留 localhost 與 127.0.0.1,移除 %
    1. 上一篇文章:
    2. 下一篇文章:
    Copyright © 程式碼之家 All Rights Reserved