連接MySQL報錯誤代碼 ERROR 1045時的解決方案


        最近在做網站遷移的時候,遇到了一件很尷尬的事情,遠程連接數據連不上了,一直報 錯誤號碼1045 Access denied for user 'root'@xx.xxx.xxx.xx(using password:YES) 遠程登錄被拒絕
        嘗試通過阿里雲自帶的遠程連接登錄,依然是拒絕訪問,這下涼涼了,如果這個問題解決不掉,不光是網站遷移完成不了,之前存的數據也保存不下來了。難道只能趁着夜黑風高天里跑路?怎么可能~~
 
        度娘谷哥了一圈,解決辦法也有而且都差不多(很多都是一字不差的復制),基本步驟是
        1:停止MySQL服務器(一般在/etc/init.d/mysql)
        2:設置MySQL跳過權限驗證並啟動
        3:更新遠程登錄權限並刷新
        4:重啟服務器
 
        如果是正常配置的服務器,找到mysql並且停止它,是一件非常容易的事情,但是,作為一台經過了幾次交接,基本上沒有使用文檔的服務器,那就很傷腦筋了。反正我找了很久都沒有找到mysql裝在了哪里,從哪里啟動。
 
        注意:以下操作為非常規操作,且涉及到重啟服務器,改配置等危險操作,如果不是自己的服務器或者服務器網站特重要的,不建議嘗試,以免被項目經理打出屎...
 
        嘗試使用網上給出的命令關閉MySQL服務器,關閉失敗,只能強行kill掉進程,然后使用命令 mysqld_safe --skip-grant-tables &  沒有成功,報找不到 mysqld_safe
        沒有辦法,只能想辦法改配置文件了,在/etc文件夾下,找到my.cnf文件,對其進行修改,在[mysqld]下添加 skip_grant_tables 讓MySQL在運行的時候可以跳過權限,直接登錄。
        所以?找不到MySQL要怎么重啟呢?幸虧這個服務器目前只掛了一個訪問量很小的官網,利用服務器重啟后MySQL也會自啟的特性,我在后台直接重啟了服務器。
        so?我成功了,服務器重啟后,MySQL也啟動了,直接輸入命令 mysql 回車,繞過權限進入數據庫成功。
        后面的操作就比較簡單了,
        先使用命令 flush privileges; 刷新數據庫系統權限
        然后使用命令 
            GRANT ALL PRIVILEGES ON *.* TO 'manage'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;
        新增一個manage用戶用於遠程訪問。
        退出MySQL服務器后,將/etc/my.cnf文件中的 skip_grant_tables 注釋掉,再次重啟服務器
 
        一頓騷操作之后,再次嘗試遠程連接數據庫,連接成功~~
 
        啊~今天又很堅強的活了下來~~
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM