• 解決 MYSQL,ERROR 1045 (28000) using password: NO 和yes的方法


    解決 MYSQL 登入時,ERROR 1045 (28000) using password: NO 的方法

     
    透過終端機輸入指令 mysql -u root ,卻出現 
        ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 訊息。
    改輸入 mysql -u root -p  強制輸入密碼,卻變成
        ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
    在網路上查詢了一下,發現問題似乎與 'root'@'localhost' ,帳號跟登入位置與密碼對應有關,也發現這問題十分氾濫,並似乎沒有個好的SOP解決流程,於是試了幾種方法,整理成以下心得:
    ===================================

    1.首先,停止MYSQL 服務:
        #  /etc/init.d/mysql stop              or  #  stop mysql          or # service mysql stop
    2.接著跳過授權表訪問,命令如下:
        # mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
    3.登錄 MYSQL:
        # mysql -uroot mysql   
        or
        # mysql -uroot mysql -p
        輸入 root 密碼,進入MYSQL。
        這裡若依舊跳出 ERROR 1045 (28000) 訊息,則請跳至文末的 A 步驟
    4.重新寫入 root 密碼:
        mysql> UPDATE user SET Password=PASSWORD('輸入你 root 的新密碼') where USER='root';
    5. 把 所有資料庫(含其下的所有資料表),授權給 root,從 localhost 上來,密碼為引號內數據  '*****'。 
        mysql> GRANT all ON *.* TO root@'localhost' IDENTIFIED BY '輸入你 root 的密碼'; 
    6.更新權限!密碼若有更動,一定要執行此行指令。
        mysql> FLUSH PRIVILEGES;
    7.離開 MYSQL
        mysql> quit
    8.輸入密碼,正常進入 MYSQL。
        # mysql -uroot -p
    ===================================
    A.直接使用 /etc/mysql/debian.cnf 文件中 [client] 提供的用戶名和密碼:
        # mysql -udebian-sys-maint -p
        輸入 [client] 中的密碼
        mysql> UPDATE user SET Password=PASSWORD('輸入你 root 的新密碼') where USER='root';     // 重新寫入 root 密碼
        mysql> GRANT all ON *.* TO root@'localhost' IDENTIFIED BY '輸入你 root 的密碼';      // 把 所有資料庫(含其下的所有資料表),授權給 root,從 localhost 上來,密碼為引號內數據  '*****'。 
        mysql> FLUSH PRIVILEGES;     // 更新權限!密碼若有更動,一定要執行此行指令。
        mysql> quit
        # mysql -uroot -p
        輸入密碼,正常進入 MYSQL。

    ===================================

    以上兩種狀況我都遇過,依以上方式我的問題都解決了。
    另外改好後,MYSQL 系統似乎需要一點時間更動,因為在終端機上MYSQL可進去了,網頁的 phpmyadmin 卻依舊進不去,SSH連也進不去,直到間隔了快 10 秒,才一切正常。




    注1: 欲查詢MYSQL版本指令為 
        # mysql -V
          查詢PHP 版本指令為
        # php -v
          要注意大小寫喔!
  • 相关阅读:
    [Silverlight]常见问题
    [C#]有趣的VS扩展DebuggerVisualizer
    [EF5.0CODE FIRST]多对一及自关联映射的处理
    自定义控件传值
    关于.Net中类型转换ToInt32
    SQL版整数转IP
    SQL2008 Merge关键字用法与简例
    SQL语句,同时返回结果集,输出参数的值及return值
    多线程与异步操作实现的探讨
    SQL Prompt4 破解版
  • 原文地址:https://www.cnblogs.com/xingh/p/7069871.html
Copyright © 2020-2023  润新知