遠端連線MYSQL8.0伺服器問題

來源:互聯網
上載者:User

標籤:HERE   和我   cal   連接埠   jpg   win   本地   更新   授權   

title: 遠端連線MYSQL8.0伺服器問題
date: 2018-07-07 11:02:26
updated:
tags: [MYSQL,坑]
description:
keywords:
comments:
image:
---
問題描述: 先前使用MYSQL5.1,遠端訪問MYSQL伺服器沒問題,遇到的問題也就是防火牆問題,修改出入站規則後輕鬆的解決了.但是MYSQL8.0就很坑了,按照網上的解決辦法折騰了兩個小時,最後解決,依然不明白哪裡有問題,只能把操作複現,為以後使用留個記錄.

機器環境

作業系統:win10
gui工具:navcat12
MYSQL:v8.011
防火牆開啟入站連接埠

# 直接對root使用者修改的方法 #
操作前請在 bin 目錄下運行cmd,或者設定好bin的環境變數

  1. 登入MySQL mysql -u root -p
  2. 斷行符號後輸入密碼
  3. 選擇 要操作的服務 use mysql; 我是使用的mysql作為名稱,根據你自己伺服器名稱輸入命令
  4. 查看mysql 資料庫的 user 表中當前 root 使用者的相關資訊(host plugin)select host,user,authentication_string,plugin from user;

    執行完命令後顯示一個表格, root 使用者的 host預設顯示的localhost,說明只支援本地訪問,不允許遠端存取。
  5. 先給root賬戶授權,這裡我直接給了所有許可權 grant all privileges on *.* to ‘root‘@‘%‘ with grant option;
  6. 更改 root使用者host 的預設配置 update user set host=‘%‘ where user=‘root‘;
  7. 執行前面的查詢命令查看root的host是否改變為localhost(如果失敗請繼續往後看)
  8. 然後更改加密規則 ALTER USER ‘root‘@‘%‘ IDENTIFIED BY ‘password‘ PASSWORD EXPIRE NEVER;
  9. 更新使用者密碼ALTER USER ‘root‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘password‘;
  10. 重新整理許可權 FLUSH PRIVILEGES;

    成功後,可以看到root的host改變了,plugin也變成了mysql_native_password(以前也是mysql_na...但是要修改後才能真的串連成功,很玄學)

!如果上面的步驟你的修改不成功請接著往下看

直接添加使用者的方法

很多人可能和我一樣,前面的直接修改root使用者失敗,之後我嘗試了直接添加使用者的方法成功了,首先你要確保沒有犯低級錯誤,上面的命令列大多是由分號的,請仔細檢查.

  1. 啟動cmd,到第三步驟為止都一樣,先建立一個使用者 Create user ‘name‘@‘%‘ identified by ‘password‘; 名字自己定密碼自己定. 執行查詢使用者命令後可以看到多了一個使用者,這裡我建立的是else.它的host應該為localhost,之前我忘記了.他的plugin是caching_.....

  2. 對使用者授權 grant all privileges on *.* to ‘name‘@‘%‘ with grant option;
  3. 修改host update user set host=‘%‘ where user=‘else‘;
  4. 修改加密方式ALTER USER ‘else‘@‘%‘ IDENTIFIED BY ‘password‘ PASSWORD EXPIRE NEVER;
  5. 更新密碼 ALTER USER ‘else‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘password‘;
  6. 重新整理許可權FLUSH PRIVILEGES;
  7. 查詢使用者可以看到else使用者的host為"%" plugin為"mysql_native_password"這樣基本就代表成功了.
  8. 問題到此解決了!

# 後記 #
我的root修改是失敗的,但是在建立完使用者並完成修改後再次修改root就成功了,不知道怎麼回事;
總之要運行遠端連線,必須保證伺服器端使用者的host不為”localhost”,plugin為” mysql_native_password.”
所有操作方法都來源於網路,參考了眾多文章,沒有做記錄不好寫明來源,抱歉.
最後祝君成功!

這是自己解決問題時的的筆記,如有錯誤請評論或者聯絡我謝謝

遠端連線MYSQL8.0伺服器問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.