Navicat遠程連接Linux環境下MySQL(error:1045)解決方案
心路歷程
因為之后要學習有關資料庫開發的課程,我們需要部署云服務器并添加mysql功能,以便后續研究學習,我折騰了好幾天,按照現有的教程安裝,一開始還好好的,慢慢的錯誤百出,又去查自己遇到的問題,做不通又清空服務器資料推倒重來……離目標漸行漸遠,(期間問老師,查度娘……)非常低效,好在我沒有放棄!經過一番曲折之后,我終于成功的連接上了!
下面廢話不多說,上干貨!
確定現階段部署/安裝的狀態
| 專案部分 | 狀態 |
|---|---|
| 云服務器 | CentOS 7.x |
| MySQL | 8.x |
| winSCP | SFTP視圖化工具(方便修改Linux檔案) |
| SecureCRT | 遠程登錄工具(可選其它,如Xshell等) |
首先你要確定你已經獲得了一臺云服務器,(樓主用的阿里云)選擇安裝了CentOS 7(版本不同自測),并為其安裝了MySQL8.x(我用的mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz)
有遠程登錄工具可以正常訪問進入云端Linux系統
一、為MySQL root用戶添加/修改遠程訪問權限
操作
遠程主機目錄下
/etc/my.ini檔案
洗掉或注釋bind-address欄位有關的行(#注釋掉或者直接把這行洗掉)
通過secureCRT訪問遠程主機并以root用戶登錄MySQL
添加或修改root用戶的訪問地址(默認root@localhost)(root@%的意思是任意ip)
| username@localhost | username@% |
|---|---|
| 僅為本地(本機或局域網訪問) | 任意ip地址均可訪問(實作遠程訪問) |
下面可以嘗試以下兩種命令為root用戶修改/添加 %
//第一種
mysql> update user set host = '%' where user = 'root';
//第二種
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
驗證root遠程登錄功能是否修改成功
方法一:
mysql下輸入
mysql> use mysql;
mysql> select user, host from user;
效果如下

方法二:
mysql下輸入
mysql> select host from user where user = 'root';
效果如下

二、給云服務器添加MySQL相應的埠(3306)
在云服務器實體頁面進入安全組,點擊相應遠程主機的配置規則
操作如圖


快速添加一個MySQL的埠


效果如下

三、▲重要步驟:修改root@%密碼(重新初始化)
通過secureCRT登錄遠程主機
登錄MySQL
重新設定localhost的密碼和%的密碼(必須修改root@%的密碼,類似于初始化,否則無法遠程登錄)
代碼如下
mysql> alter user'root'@'localhost' IDENTIFIED BY '新的密碼';
mysql> alter user'root'@'%' IDENTIFIED BY '新的密碼';
連接成功
以上操作設定好后就可以愉快的打開Navicat添加一個遠程連接了!
下面show圖(ps:心情瞬間舒暢許多)
Navicat新建連接設定如圖

點擊連接測驗

以上就是本期教程的全部內容,祝大家操作順利,共同進步!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/272205.html
標籤:其他
上一篇:資料結構之查找演算法
下一篇:資料分析學習筆記:因子分析
