linux下配置mysql的遠端存取

來源:互聯網
上載者:User

標籤:

最近,筆者原先的虛擬機器經常宕機,被逼將原先虛機上的項目遷移至新環境中。在新的環境中安裝apache,mysql等,安裝後需要配置一下mysql的遠端連線。

由於筆者的linux沒有系統的學過,在設定的過各中犯了一個很嚴重的錯誤的,最後導致遠程ip可訪問資料庫,但本地root確無法訪問了。在此備忘一份文檔。

筆者當時的操作十分簡單,一共四步

(1)進入mysql,指令:   mysql-u root -p

(2)使用資料庫,指令: use mysql;

(3)更新使用者表,指令: UPDATE user SET `Host` = ‘%‘ WHERE `User` = ‘root‘ LIMIT 1;

(4)重新整理,指令: flush privileges;

在此,最重要的一步是第三步,指令的意思是更新user表,將user名為root 的第一條資料裡的host變為%,而這個%代表著允許其它 的ip訪問。

筆者想當然的以為%包含 了所有的ip,包括localhost。但是其實不然,這麼做的後果是,其它的ip都可以再訪問,唯獨本地的root使用者不能再訪問。

 

如果對mysql使用有一點心得的都知道,mysql的使用者名稱和密碼其實在mysql裡本身也是有一張table儲存著的,這個表就位於mysql庫下的user表。

這個表的結構如下所示:

 

 細心的朋友們會發現,平時我的用的root帳號,其實是[email protected],是由host和user兩部分合成,那上面的第三步錯在哪裡,錯在它無意間去掉了localhost的許可權。

select * from user,即可查看user下的資料,讀者親試即可。

臨時有事暫未寫完,稍後給出完整的方案。

 

linux下配置mysql的遠端存取

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.