windows下用navicat遠程連結虛擬機器Linux下MySQL資料庫

來源:互聯網
上載者:User

標籤:iptables   連接埠   手動   exit   狀態   技術   sql命令   ica   失敗   

       今天想用navicat遠端連線虛擬機器中的MySQL資料庫,一直連不上,在網上搜尋了一下,發現原因是MySQL對遠端使用者登陸的授權問題。這裡說一下我的解決方案。(本人小白)

  首先,我用navicat去遠程連結我虛擬機器中的MySQL,連結測試失敗。

  然後在虛擬機器中查看網路連接埠資訊:

  #netstat -ntpl

  

 

  之後查看了防火牆的狀態,發現3306連接埠的資料包都是丟棄狀態

  #iptables -vnL

  

  

  這裡要清除防火牆中鏈中的規則

  #iptables -F

 

  在這之後,我又遠程連結了一下MySQL,出現了以下錯誤,查了一下,是因為MySQL沒有允許遠程登陸,所以要授權MySQL遠程登陸。

  

  

這裡先說一下MySQL登陸:

  格式: mysql -h主機地址 -u使用者名稱-p使用者密碼


    1、例1:串連到本機上的MYSQL
    找到mysql的安裝目錄,一般可以直接鍵入命令mysql -uroot -p,斷行符號後提示你輸密碼,輸入密碼,直接斷行符號即可進入到MYSQL中了,MYSQL的提示符是:mysql>

    2、串連到遠程主機上的MySQL
    假設遠程主機的IP為:10.0.0.1,使用者名稱為root,密碼為123。則鍵入以下命令:
    mysql -h10.0.0.1 -uroot -p123
   (註:p與123(密碼)之間最好不加空格,其它也一樣)

    3、退出MySQL命令
   exit (斷行符號)

最後授權MySQL,允許遠端使用者登入訪問MySQL

  手動增加可以遠端存取資料庫的使用者。

  方法一、本地登入mysql,更改 "mysql" 資料庫裡的 "user" 表裡的 "host" 項,將"localhost"改為"%"

  #mysql -u root -proot
  mysql>use mysql;
  mysql>update user set host = ‘%‘ where user = ‘root‘;
  mysql>select host, user from user;


  方法二、直接授權(推薦)

  從任何主機上使用root使用者,密碼:youpassword(你的root密碼)串連到mysql伺服器:
  # mysql -u root -proot
  mysql>GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘youpassword‘ WITH GRANT OPTION;

  操作完後切記執行以下命令重新整理許可權
    FLUSH PRIVILEGES

   這時再通過navicat遠程連結MySQL,連結測試,如,成功。

  

windows下用navicat遠程連結虛擬機器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.