Navicat連接MySQL保姆級教程(含詳細(xì)圖文)
前言
Navicat 是目前 Windows、macOS、Linux 平臺(tái)上最主流、最易用的 MySQL 圖形化管理工具,無論是本地開發(fā)、測試環(huán)境,還是服務(wù)器上的生產(chǎn)環(huán)境,幾乎所有后端開發(fā)者、DBA 都會(huì)用到。但很多新手在第一次使用時(shí),經(jīng)常遇到連接失敗、報(bào)錯(cuò) 2003/1045/2059、遠(yuǎn)程連不上、中文亂碼、權(quán)限不足等問題,反復(fù)排查卻找不到原因。
本文從零起步,完整講解 Navicat 連接 MySQL 的全流程,包含本地連接、遠(yuǎn)程連接、SSH 隧道連接、阿里云 / 騰訊云服務(wù)器連接、Docker 內(nèi) MySQL 連接,并總結(jié)12 個(gè)高頻避坑點(diǎn),每個(gè)坑都附帶原因 + 解決方案,全程一步一截圖式描述,真正做到看完就能用。
全文約 5500 字,適合零基礎(chǔ)、學(xué)生、剛?cè)胄虚_發(fā)、運(yùn)維人員閱讀。

一、前期準(zhǔn)備工作
1.1 確認(rèn)已安裝 MySQL
首先必須保證你的電腦或服務(wù)器上已經(jīng)安裝并正常運(yùn)行 MySQL,版本不限(5.5 / 5.6 / 5.7 / 8.0 均適用)。
如果你還沒裝 MySQL:
- Windows 推薦安裝 MySQL 5.7 或 8.0(穩(wěn)定、兼容性強(qiáng))
- macOS 可通過 Homebrew 安裝
- Linux 直接用 yum /apt 安裝
安裝完成后,必須確保MySQL 服務(wù)處于運(yùn)行狀態(tài)。



1.2 確認(rèn) MySQL 基礎(chǔ)信息
連接前必須知道以下 5 個(gè)關(guān)鍵信息:
- 主機(jī)地址
- 本地連接:
localhost或127.0.0.1 - 遠(yuǎn)程服務(wù)器:公網(wǎng) IP 地址(如
120.79.xx.xx)
- 本地連接:
- 端口號默認(rèn):
3306若修改過則填實(shí)際端口(如 3307、3308) - 用戶名默認(rèn)管理員賬號:
root - 密碼安裝 MySQL 時(shí)自己設(shè)置的密碼
- 數(shù)據(jù)庫字符集統(tǒng)一使用
utf8mb4(支持 emoji、最全中文)
1.3 安裝 Navicat
Navicat 支持多數(shù)據(jù)庫類型(MySQL、PostgreSQL、SQL Server、Oracle 等),我們只需要用 Navicat for MySQL 或 Navicat Premium。
安裝步驟:
- 下載對應(yīng)系統(tǒng)版本
- 一路下一步,默認(rèn)安裝路徑即可
- 打開后選擇試用,即可進(jìn)入主界面

二、本地 MySQL 連接(最基礎(chǔ)、最常用)
本地連接指 Navicat 和 MySQL 安裝在同一臺(tái)電腦上,是開發(fā)最常用場景。
2.1 新建 MySQL 連接
- 打開 Navicat
- 左上角點(diǎn)擊 連接 → MySQL
- 彈出連接設(shè)置窗口

2.2 填寫連接參數(shù)
常規(guī)選項(xiàng)卡
- 連接名:自定義,方便自己識別,如
本地MySQL-5.7、本機(jī)MySQL8 - 主機(jī):
localhost或127.0.0.1 - 端口:
3306 - 用戶名:
root - 密碼:你的 MySQL 密碼
- 建議勾選 保存密碼,避免每次輸入

高級選項(xiàng)卡(解決亂碼必設(shè)置)
- 編碼:選擇
utf8mb4 - 其他默認(rèn)即可

SSL 選項(xiàng)卡
- 本地連接一般不使用 SSL,保持關(guān)閉

2.3 測試連接
- 點(diǎn)擊左下角 測試連接
- 若彈出 連接成功,說明配置正確
- 點(diǎn)擊 確定 保存連接

2.4 打開連接
左側(cè)列表會(huì)出現(xiàn)你剛創(chuàng)建的連接,雙擊連接名即可激活使用。激活后可以看到:
- 系統(tǒng)數(shù)據(jù)庫(mysql、information_schema、performance_schema 等)
- 可新建數(shù)據(jù)庫、新建表、執(zhí)行 SQL、導(dǎo)入導(dǎo)出數(shù)據(jù)等


三、遠(yuǎn)程連接 MySQL 完整開通流程(重點(diǎn))
遠(yuǎn)程連接指:
- 你的電腦(本地 Navicat)
- 連接 → 服務(wù)器上的 MySQL(阿里云、騰訊云、華為云、公司內(nèi)網(wǎng)服務(wù)器)
遠(yuǎn)程連接默認(rèn)是關(guān)閉的,必須手動(dòng)開通,否則永遠(yuǎn)連不上。
3.1 開通遠(yuǎn)程連接四步走
第一步:修改 MySQL 配置文件,允許外部訪問
MySQL 默認(rèn)只允許本機(jī)(127.0.0.1)訪問,需要修改綁定地址。
Windows
找到 my.ini,通常路徑:
C:\ProgramData\MySQL\MySQL Server 8.0\my.ini
找到:
bind-address = 127.0.0.1
改為:
bind-address = 0.0.0.0
Linux(CentOS / Ubuntu)
配置文件一般為 /etc/my.cnf 或 /etc/mysql/mysql.conf.d/mysqld.cnf同樣修改:
bind-address = 0.0.0.0
修改完成后重啟 MySQL 服務(wù)。
第二步:給 root 賬號授權(quán)遠(yuǎn)程訪問
登錄服務(wù)器 MySQL 執(zhí)行以下 SQL:
-- 創(chuàng)建允許任意IP訪問的賬號 CREATE USER 'root'@'%' IDENTIFIED BY '你的密碼'; -- 授權(quán)所有權(quán)限 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; -- 刷新權(quán)限 FLUSH PRIVILEGES;
解釋:
%代表允許所有 IP 地址連接- 生產(chǎn)環(huán)境不建議給 root 開全網(wǎng)權(quán)限,可指定固定 IP
如果提示失敗,表示root用戶可能已存在,跳過創(chuàng)建用戶語句即可,也可以換一個(gè)用戶。


第三步:開放服務(wù)器防火墻 3306 端口
Linux 防火墻
# CentOS 7+ firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload # Ubuntu ufw allow 3306 ufw reload
云服務(wù)器(阿里云 / 騰訊云)
必須在控制臺(tái)安全組里開放 3306 端口,否則防火墻放開也沒用。
- 入方向:允許 TCP 3306
- 來源:0.0.0.0/0(或你的本地公網(wǎng) IP)
第四步:Navicat 配置遠(yuǎn)程連接
- 新建連接
- 主機(jī):填寫服務(wù)器公網(wǎng) IP
- 端口:3306
- 用戶名:root
- 密碼:服務(wù)器 MySQL 密碼
- 測試連接 → 成功
3.2 SSH 隧道連接(更安全,生產(chǎn)推薦)
很多公司不允許直接開放 3306 端口,這時(shí)用 SSH 隧道 中轉(zhuǎn)連接。
配置方法:
常規(guī)頁
- 主機(jī):localhost
- 端口:3306
- MySQL 賬號密碼
SSH 頁
- 使用 SSH 隧道:勾選
- 主機(jī)名 / IP:服務(wù)器公網(wǎng) IP
- 端口:22
- 用戶名:服務(wù)器登錄賬號(如 root)
- 驗(yàn)證方式:密碼 / 密鑰文件
測試連接即可成功
優(yōu)點(diǎn):
- 不用暴露 3306 端口
- 更安全
- 適合內(nèi)網(wǎng)、生產(chǎn)環(huán)境
四、Docker 內(nèi) MySQL 連接方法
很多人用 Docker 跑 MySQL,也經(jīng)常連不上,正確步驟:
- 運(yùn)行容器時(shí)必須映射端口
docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0
Navicat 連接
- 主機(jī):localhost
- 端口:3306
- 賬號密碼正常填寫
若仍連不上
- 檢查端口映射是否正確
- 進(jìn)入容器授權(quán)遠(yuǎn)程訪問
五、Navicat 連接 MySQL 12 個(gè)必看避坑(99% 人都踩過)
坑 1:報(bào)錯(cuò) 2002 – Can’t connect to MySQL server

原因
- MySQL 服務(wù)沒啟動(dòng)
- 端口錯(cuò)誤
- 防火墻攔截
- 云服務(wù)器安全組沒開 3306
解決
- 啟動(dòng) MySQL 服務(wù)
- 核對端口
- 關(guān)閉防火墻或放行 3306
- 云控制臺(tái)安全組開放端口



坑 2:報(bào)錯(cuò) 1045 – Access denied 拒絕訪問
原因
- 賬號或密碼錯(cuò)誤
- 沒授權(quán)遠(yuǎn)程訪問
解決
- 確認(rèn)密碼正確
- 執(zhí)行授權(quán) SQL:
ALTER USER 'root'@'%' IDENTIFIED BY '新密碼'; FLUSH PRIVILEGES;
坑 3:MySQL 8.0 報(bào)錯(cuò) 2059 認(rèn)證失敗
原因MySQL 8.0 默認(rèn)使用 caching_sha2_password 加密,Navicat 不兼容。
解決
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密碼'; FLUSH PRIVILEGES;
坑 4:中文亂碼、問號???
原因字符集不統(tǒng)一。
解決
- 連接高級設(shè)置編碼:utf8mb4
- 數(shù)據(jù)庫建庫時(shí):utf8mb4
- 表字符集:utf8mb4
- 程序連接串也用 utf8mb4
坑 5:本地能連,遠(yuǎn)程死活連不上
原因
- bind-address 未改為 0.0.0.0
- 未授權(quán) % 遠(yuǎn)程賬號
- 防火墻 / 安全組攔截
- 服務(wù)器運(yùn)營商封禁 3306
解決按本文遠(yuǎn)程連接四步重新檢查。
坑 6:Navicat 保存密碼后仍提示輸入
原因
- 密碼錯(cuò)誤
- 勾選保存密碼但未生效
- 連接配置被修改
解決刪除連接重新創(chuàng)建,重新測試保存。
坑 7:只能看到部分?jǐn)?shù)據(jù)庫,看不到系統(tǒng)庫
原因賬號權(quán)限不足。
解決使用 root 賬號或重新授權(quán):
GRANT ALL ON *.* TO 'user'@'%';
坑 8:連接成功,但執(zhí)行 SQL 很慢
原因
- 網(wǎng)絡(luò)延遲高
- MySQL 配置過低
- Navicat 刷新頻率過高
解決
- 用 SSH 隧道
- 關(guān)閉 Navicat 自動(dòng)刷新
- 優(yōu)化 MySQL 配置
坑 9:建庫時(shí)報(bào)錯(cuò) “非法排序規(guī)則”
原因字符集與排序規(guī)則不匹配。
解決統(tǒng)一使用:
- 字符集:utf8mb4
- 排序規(guī)則:utf8mb4_general_ci
坑 10:導(dǎo)入 SQL 文件時(shí)報(bào)錯(cuò)超時(shí)
原因文件過大、max_allowed_packet 太小。
解決修改 my.ini/my.cnf:
max_allowed_packet = 1024M
重啟 MySQL。
坑 11:遠(yuǎn)程連接一段時(shí)間自動(dòng)斷開
原因MySQL wait_timeout 超時(shí)斷開。
解決在 Navicat 連接屬性 → 高級 → 勾選 保持連接間隔。
坑 12:Docker MySQL 端口映射了還是連不上
原因
- 端口沖突
- 容器內(nèi) MySQL 未授權(quán)
- 容器未正常運(yùn)行
解決
docker exec -it mysql mysql -uroot -p
進(jìn)入后執(zhí)行授權(quán)語句。
六、連接成功后基礎(chǔ)常用操作(新手必學(xué))
6.1 新建數(shù)據(jù)庫
右鍵連接 → 新建數(shù)據(jù)庫
- 數(shù)據(jù)庫名:英文,不要中文
- 字符集:utf8mb4
- 排序規(guī)則:utf8mb4_general_ci
6.2 新建表
雙擊進(jìn)入數(shù)據(jù)庫 → 右鍵表 → 新建表設(shè)置字段名、類型、長度、主鍵、自增、非空等。
6.3 執(zhí)行 SQL 查詢
點(diǎn)擊 查詢 → 新建查詢輸入 SQL:
SELECT * FROM user;
點(diǎn)擊運(yùn)行。
6.4 數(shù)據(jù)備份與恢復(fù)
- 右鍵數(shù)據(jù)庫 → 轉(zhuǎn)儲(chǔ) SQL 文件 → 備份
- 右鍵數(shù)據(jù)庫 → 運(yùn)行 SQL 文件 → 恢復(fù)
6.5 用戶與權(quán)限管理
可在 Navicat 圖形界面直接創(chuàng)建用戶、分配庫表權(quán)限,無需手寫 SQL。
七、生產(chǎn)環(huán)境安全建議(非常重要)
- 不要用 root 賬號遠(yuǎn)程全網(wǎng)開放新建業(yè)務(wù)專用賬號,只授予對應(yīng)庫權(quán)限
- 不要用 3306 默認(rèn)端口改為 3307、3308 等
- 限制來源 IP不要用 %,改為公司出口公網(wǎng) IP
- 優(yōu)先使用 SSH 隧道連接
- 定期修改密碼
- 關(guān)閉不必要的外部訪問權(quán)限
- 開啟 MySQL 日志,便于排查入侵
八、總結(jié)
Navicat 連接 MySQL 看似簡單,實(shí)際涉及服務(wù)狀態(tài)、端口、防火墻、安全組、授權(quán)、加密規(guī)則、字符集等多個(gè)環(huán)節(jié),任何一步錯(cuò)都會(huì)連接失敗。
本文完整覆蓋:
- 本地連接
- 公網(wǎng)遠(yuǎn)程連接
- SSH 隧道連接
- Docker MySQL 連接
- 12 個(gè)高頻避坑
- 生產(chǎn)安全規(guī)范
- 基礎(chǔ)操作教程
只要嚴(yán)格按照步驟操作,99% 的連接問題都能一次性解決。如果你遇到特殊報(bào)錯(cuò),可以直接根據(jù)錯(cuò)誤碼對照本文避坑部分,基本都能找到解決方案。
到此這篇關(guān)于Navicat連接MySQL保姆級教程的文章就介紹到這了,更多相關(guān)Navicat連接MySQL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql升級到5.7時(shí),wordpress導(dǎo)數(shù)據(jù)報(bào)錯(cuò)1067的問題
小編最近把mysql升級到5.7了,wordpress導(dǎo)數(shù)據(jù)報(bào)錯(cuò),導(dǎo)入數(shù)據(jù)庫時(shí)報(bào)1067 – Invalid default value for ‘字段名’的問題,怎么解決這個(gè)問題,下面小編把我的解決方案分享到腳本之家平臺(tái)供大家參考,希望對大家有所幫助2021-05-05
Ubuntu下取消MySQL數(shù)據(jù)庫本機(jī)綁定限制方法
在Ubuntu系統(tǒng)中,添加了MySQL賬戶,賦予了數(shù)據(jù)庫完全操作權(quán)限,并且允許數(shù)據(jù)庫從外部鏈接 但是,還是無法遠(yuǎn)程訪問MySQL數(shù)據(jù)庫2013-06-06
關(guān)于MySQL實(shí)現(xiàn)指定編碼遇到的坑
這篇文章主要介紹了一個(gè)關(guān)于MySQL指定編碼實(shí)現(xiàn)的小坑,文中大家需要注意如果有需要保存emoji符號的字段,記得一定要指定編碼為 utf8mb4,感興趣的朋友一起看看吧2021-10-10
Mysql數(shù)據(jù)庫表定期備份的實(shí)現(xiàn)詳解
這篇文章主要介紹了Mysql數(shù)據(jù)庫表定期備份的實(shí)現(xiàn)詳解的相關(guān)資料,需要的朋友可以參考下2017-03-03
mysql數(shù)據(jù)庫設(shè)置utf-8編碼的方法步驟
這篇文章主要介紹了mysql數(shù)據(jù)庫設(shè)置utf-8編碼的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
MySQL學(xué)習(xí)之基礎(chǔ)操作總結(jié)
MySQL 是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在WEB應(yīng)用方面 MySQL 是最好的。本文將為大家詳細(xì)介紹一下MySQL的基礎(chǔ)操作,需要的可以參考一下2022-03-03

